📜  laravel make:action - PHP (1)

📅  最后修改于: 2023-12-03 14:43:45.525000             🧑  作者: Mango

Laravel make:action - 介绍

Laravel make:action 是一个内置的 Artisan 命令,可以帮助开发人员轻松地创建控制器动作(Controller Actions)并生成与之相应的测试文件。它为 Laravel 应用程序提供了快速、简单的方式来生成控制器中的一些常用方法。

命令格式

Laravel make:action 的命令格式如下:

php artisan make:action <name> [--model=] [--resource] [--invokable] [--no-test]
参数
  • <name>:要创建的控制器动作(Action)名称。
  • --model=:要使用的模型。可以是模型的名称(例如 Post),或者是带有命名空间的完整类名。如果指定了该参数,则会自动生成一个控制器,并同时创建与之对应的资源控制器方法(Resource Controller Methods)。
  • --resource:创建一个与资源控制器相关的控制器动作(Action)。
  • --invokable:创建一个可调用的控制器动作(Invokable Controller Action)。
  • --no-test:不要自动生成测试文件。
示例

以下是一些例子,展示了如何使用 Laravel make:action 命令:

基本用法

要创建一个名为 index 的控制器动作(Action)和相应的测试文件,可以运行如下命令:

php artisan make:action IndexAction

此将创建一个名为 IndexAction 的 PHP 类,该类扩展了 Laravel 的 Illuminate\Routing\Controller 类,并在其中创建了一个 index 方法。此外,还将生成 tests/Feature/IndexActionTest.php 文件用于测试。

搭配模型使用

如果要使用模型,可以通过 --model 参数来实现。以下是一个使用 --model 参数的例子:

php artisan make:action CreatePostAction --model=Post

此将创建一个名为 CreatePostAction 的 PHP 类。该类将使用 Post 模型,并在其中包含一个 __invoke 方法用于处理表单提交。此外,还将生成 tests/Feature/CreatePostActionTest.php 文件用于测试。

资源控制器

Laravel make:action 还可以帮助创建与资源控制器(Resource Controller)相关的控制器动作。以下是一个使用 --resource 参数的例子:

php artisan make:action StoreAction --resource

此将创建一个名为 StoreAction 的 PHP 类,该类扩展了 Laravel 的 Illuminate\Routing\Controller 类,并在其中创建了一个 store 方法。除此之外,还将生成与其相应的其他资源控制器方法。此外,还将生成 tests/Feature/StoreActionTest.php 文件用于测试。

可调用控制器

最后,Laravel make:action 还支持创建可调用控制器(Invokable Controllers)。以下是一个使用 --invokable 参数的例子:

php artisan make:action CreatePostController --invokable

此将创建一个名为 CreatePostController 的 PHP 类,该类是一个可调用控制器,并在其中包含一个 __invoke 方法用于处理表单提交。此外,还将生成一个测试文件 tests/Feature/CreatePostControllerTest.php 用于测试。

结论

Laravel make:action 是一个非常有用的 Artisan 命令,可以为 Laravel 开发人员提供快速、简单的创建控制器动作的方式。它可以提高开发效率,减少重复性劳动,可以令开发者更加专注于项目的具体实现。