我正在使用Laravel 5,我想知道如何使用Artisan命令(PHP)生成包含所有预定义方法的RESTful资源控制器。
当我运行php artisan make:controller LessonsController
时,它会创建一个控制器,没有如下所示的方法:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class LessonsController extends Controller
{
}
我想要创建的是一个完整的Laravel RESTful资源控制器,其中包含所有预定义方法,如:index(), create(), store(), show(), edit(), update()
和destroy()
。
我怎样才能做到这一点?
答案 0 :(得分:60)
尝试获取命令
的帮助php artisan help make:controller
如果在帮助选项中看到--resource
标志,则可能是5.2,并且可以将该标志添加到命令中以获取资源控制器。
php artisan make:controller --resource SomeResourceController
对于Laravel 5.0和5.1,make:controller
命令默认生成资源控制器,--plain
选项将生成普通控制器。
Laravel 5.2 - Restful Resource Controllers - 默认普通
答案 1 :(得分:10)
php artisan make:controller NameofController --resource
// It will create the controller with all methods.
php artisan make:controller NameofController
// It will create the controller with all methods.
和
php artisan make:controller NameofController --plain
// It will create the controller without any method.
答案 2 :(得分:2)
对于具有所需方法的默认控制器。 php artisan make:controller LessonsController
如果你想要没有方法的普通控制器 php artisan make:controller --plain LessonsController
答案 3 :(得分:1)
php artisan make:controller "NameOfController"
- 将使用所有方法创建控制器
php artisan make:controller "NameOfController" --plain This will create controller with no methods.
最诚挚的问候,我正在使用laravel 5.0
答案 4 :(得分:1)
php artisan make:controller ControllerName --resource
答案 5 :(得分:0)
因此您正在使用Laravel 5.2,因此让控制器使用RESTful方法发出命令
php artisan make:controller --resource NAME_OF_CONTROLLER
在Laravel 5.1及更低版本中,默认情况下, make:controller 命令用于生成具有所有必需方法的Controller,例如索引,创建,存储,显示,编辑,更新,摧毁&#39 ;.对于5.1及以下版本,要使用没有任何方法的空白控制器文件,我们过去常常使用&#39; - plain&#39;参数为
php artisan make:controller --plain NAME_OF_CONTROLLER
但是使用Laravel 5.2,默认情况下,artisan命令将创建裸控制器文件而不使用任何RESTful方法。
由于Laravel 5.2有很多变化,最好使用&#39; artisan help&#39;命令如下
php artisan help make:controller
有了这个,我们将实现--resource
请参阅Laravel文档Laravel HTTP Controllers - Artisan Command
建议:由于这是5.2的变化,所以也可以编辑帖子标题。