如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器

How to create a RESTful Resource Controller in Laravel 5.2, using Artisan command (PHP)

我正在使用 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().

我怎样才能做到这一点?

对于具有您想要的所有方法的默认控制器,
php artisan make:controller LessonsController

如果你想要没有方法的普通控制器,
php artisan make:controller --plain LessonsController

尝试获取有关命令的帮助

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 - 默认纯文本

Laravel 5.1 - Restful Resource Controllers - 默认资源

Laravel 5.0 - Restful Resource Controllers - 默认资源

总结:从Laravel 5.2开始,make:controller artisan 命令将默认创建一个普通控制器。

php artisan make:controller "NameOfController" - 将使用所有方法创建控制器

php artisan make:controller "NameOfController" --plain This will create controller with no methods.

此致,我正在使用 laravel 5.0

所以你正在使用 Laravel 5.2,所以要让控制器使用 RESTful 方法发出命令

php artisan make:controller --resource NAME_OF_CONTROLLER

在 Laravel 5.1 及以下版本中,默认情况下 make:controller 命令用于生成具有所有必需方法的控制器,例如 'index, create, store, show, edit, update, destroy'。对于 5.1 及以下版本,为了拥有没有任何方法的空白控制器文件,我们过去使用 '--plain' 参数作为

php artisan make:controller --plain NAME_OF_CONTROLLER

但是对于 Laravel 5.2,默认情况下 artisan 命令将创建没有任何 RESTful 方法的裸控制器文件。

由于Laravel 5.2有很多变化,最好使用下面的'artisan help'命令

php artisan help make:controller

这样我们就实现了--resource

的引入

请参阅 Laravel 文档 Laravel HTTP Controllers - Artisan Command

建议:由于这是 5.2 的变化,所以最好也编辑 Post 标题。

php artisan make:controller ControllerName --resource

对于Laravel 5.2

php artisan make:controller NameofController --resource
// It will create the controller with all methods.

如果Laravel < 5.2

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.

php artisan make:controller ItemController --resource