在Laravel 5.1中,我能够创建以下路线:
Route::controller('posts', 'PostsController');
这非常方便,因为我可以根据请求类型使用方法:
public function getCreate()
{
// method for getting
}
public function postCreate()
{
// method for creating
}
在Laravel 5.5中,似乎已删除此功能(HTTP控制器)(?)并替换为HTTP请求。
请求很好,但不是那么方便..它提供了比我需要的方法更多的方法。
是否有可能继续在Laravel 5.5中为控制器使用与请求相关的方法名称?
答案 0 :(得分:1)
我认为您可以使用资源路径
资源控制器
Laravel资源路由将典型的“CRUD”路由分配给具有单行代码的控制器。例如,您可能希望创建一个控制器来处理应用程序存储的“照片”的所有HTTP请求。使用make:controller Artisan命令,我们可以快速创建这样的控制器:
php artisan make:controller PhotoController --resource
此命令将在app/Http/Controllers/PhotoController.php
生成一个控制器。控制器将包含每个可用资源操作的方法。
接下来,您可以向控制器注册资源丰富的路由:
Route::resource('photos', 'PhotoController');
此单一路由声明创建多个路由来处理资源上的各种操作。生成的控制器已经有针对每个操作的存根方法,包括通知您它们处理的HTTP谓词和URI的注释。
资源控制器处理的操作
价: https://laravel.com/docs/5.5/controllers#resource-controllers
答案 1 :(得分:1)
Route :: controller()在Laravel 5.3之后被淘汰
Route :: resource()确实非常具体,仅为您创建并允许您使用七个方法对对象进行CRUD
如果您想创建自己的视图,我相信您必须在route / web文件中使用Route :: get(),Route :: post()等定义所有视图