使用 Laravel 时可以方便的用 Artisan 命令创建控制器,比如 php artisan make:controller PostController :
1 |
|
但这样创建的控制器类中没有任何方法,可以添加 -r 参数来创建包含 CURD 方法的控制器,例如 php artisan make:controller PostController -r :
1 |
|
然而我们实际的业务中肯定不仅仅是 CURD 操作,比如我们需要添加搜索(search) 功能,那么要在控制器中添加一个 search() 方法吗?之前看到过 Laravel 作者的推文,他认为良好的项目架构应该充分利用默认的几种方法,不要添加多余的方法导致控制器过于臃肿,如果要实现其他业务,应该创建新的控制器,比如添加 search 功能,通过在 PostController 前面添加限定修饰的方式创建新的控制器,比如,php artisan make:controller SearchablePostController :
1 |
|
也有人习惯使用单动作控制器 ,所有的控制器都只实现单一功能,那就更好办了,php artisan make:controller Post/SearchController --invokable :
1 |
|