Laravel控制器路线

时间:2017-10-03 15:15:32

标签: php laravel laravel-5 controller

在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中为控制器使用与请求相关的方法名称?

2 个答案:

答案 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的注释。

资源控制器处理的操作

enter image description here

价: 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()等定义所有视图