[转]Laravel 4之控制器
2024-10-18 19:31:56
Laravel 4之控制器
控制器
通常Laravel控制器文件放在app/controllers/
目录下。该目录已被Composer自动加载。控制器名称可以任意取,但一般以Controller
为后缀,然后继承BaseController
或Controller
类,BaseController
通常包括一些公用的控制器逻辑。
<?php
// app/controllers/ArticleController.php
classArticleControllerextendsBaseController
{
publicfunction showIndex()
{
returnView::make('index');
}
publicfunction showSingle($articleId)
{
returnView::make('single');
}
}
在路由中调用控制器
// app/routes.php
Route::get('index','ArticleController@showIndex');
控制器中使用命名空间
// app/routes.php
Route::get('index','Namespace/ArticleController@showIndex');
在控制器路由中指定名称
Route::get('foo', array('uses'=>'FooController@method',
'as'=>'name'));
使用URL::action
方法获取一个控制器操作的链接
$url = URL::action('FooController@method');
使用currentRouteAction
方法获取当前控制器操作的名称
$action =Route::currentRouteAction();
控制器过滤器
Route::get('profile', array('before'=>'auth',
'uses'=>'UserController@showProfile'));
在控制器内部定义过滤器
classUserControllerextendsBaseController{
publicfunction __construct()
{
$this->beforeFilter('auth');
$this->beforeFilter('csrf', array('on'=>'post'));
$this->afterFilter('log', array('only'=>
array('fooAction','barAction')));
}
}
RESTful 控制器
使用简单的REST命名规范,轻松定义单个路由去处理控制器的每个操作。避免为每个控制器动作绑定路由。定义一个 RESTful 控制器
Route::controller('article','ArticleController');
ArticleController类中的方法以HTTP动作为前缀,如
<?php
// app/controllers/Article.php
classArticleextendsBaseController
{
publicfunction getCreate()
{
returnView::make('create');
}
publicfunction postCreate()
{
// Handle the creation form.
}
}
如果你的控制器操作名称包含多个单词,你可以使用 "破折号" 语法来获得URI。例如,下面UserController
控制器中的这个操作会用来应答users/admin-profile
URI:
publicfunction getAdminProfile(){}
结束
最新文章
- Windows Phone中扩展WebBrowser使其支持绑定html内容
- MySQL运行状态show status中文详解(转)
- DataTable 导到Excel
- codeforces 711D D. Directed Roads(dfs)
- Andriod——区别DVM与JVM
- LinkedHashSet与TreeSet
- Median of Two Sorted Arrays-----LeetCode
- Swift是一个提供RESTful HTTP接口的对象存储系统
- POI 导出导入工具类介绍
- Typescript---02 变量声明
- python函数名称
- ActiveMQ 的线程池
- OS模块(与操作系统交互)
- 优秀的 Go 存储开源项目和库
- TCP UDP Socket 即时通讯 API 示例 MD
- P2880 [USACO07JAN]平衡的阵容Balanced Lineup
- Java数组初始
- 12.Spring——Web MVC框架
- Jpa 语法和 demo
- Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案