laravel系列笔记三:MVC之C(控制器)

简介

laravel中也有MVC的概念,最近几篇文章会捋一下laravel中的MVC,看看它有什么亮点,同时作为自己学习的笔记查看。控制器一般存放在app/Http/Controllers 目录下,它的默认命名空间就是App\Http\Controllers,所以无论是在Route里还是在其他地方涉及到Controller的使用时,只要相对根命名空间就行,没必要写完整的控制器命名空间。

应该掌握的几点

关于中间件的使用

上篇文章介绍中间件可以写在路由里面,不过在控制器构造器中指定中间件会更为方便,也是推荐在实际项目中应用。写法较为简单,控制也较为方便,可以控制哪些方法应用或排除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class UserController extends Controller
{
/**
* 添加一个 UserController 实例。
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');

$this->middleware('log', ['only' => ['fooAction', 'barAction']]);

$this->middleware('subscribed', ['except' => ['fooAction', 'barAction']]);
}
}

RESTful资源控制器

只需要这一条artisan命令就能生成一个支持restful的控制器。

1
php artisan make:controller PhotosController

以上只是完成第一步,下一步就是在route中注册下

1
Route::resource('photos', 'PhotosController');

具体控制的行为如下图所示
|| 动词 || 路径 || 行为(方法) || 路由名称 ||
|| GET || /photos || index || photos.index||
|| GET || /photos/create || create | photos.create ||
|| POST || /photos || store || photos.store ||
|| GET || /photos/{id} || show || photos.show||
|| GET || /photos/{id}/edit || edit || photos.edit ||
|| PUT/PATCH || /photos/{id} || update || photos.update ||
|| DELETE || /photos/{id} || destroy || photos.destroy ||

还有一个隐式控制器

这个我感觉暂时不需要掌握,用的时候查文档吧

此文章更新于2016年5月21日 13:33 😂

在此打赏