intellow/make-route-for-laravel

添加一个php artisan make:route命令。这将在web.php中构建路由,控制器,甚至生成单元测试

0.2 2020-03-09 14:57 UTC

This package is auto-updated.

Last update: 2024-09-28 01:02:49 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

这是一个有意见的包,它会在您的路由和控制器文件中创建样板代码。

安装

您可以通过composer安装此包

composer require intellow/make-route-for-laravel

用法

在您的命令行中,您现在可以使用一个单个的artisan命令来创建以下内容

  • 您的路由文件(web.php)中的条目
  • 如果不存在,则创建控制器
  • 将您指定的方法添加到控制器的底部
  • 如果不存在,则创建模型(可选)
  • 如果不存在,则创建模型的迁移(可选)
  • 创建一个空视图
  • 对于索引和创建操作,创建一个基本的单元测试
  • 未来的版本将会有更多功能

模型路由

如果您正在创建与模型关联的路由,这是一种构建该路由所需所有内容的绝佳方式。

php artisan make:model-route Model resourcefulAction

因此,如果您运行以下命令

php artisan make:model-route PizzaPie index

您将得到以下内容

web.php

Route::get('/pizza-pies/', [\App\Http\Controllers\PizzaPieController::class, 'index']);

Http\Controllers\PizzaPieController.php

  • 如果它还不存在,则会创建此文件
  • 方法将被添加到控制器的底部
public function index()
{
    return view('models.pizza_pie.index');
}

resources\views\models\pizza_pie\index.blade.php

  • 如果它还不存在,则创建此目录
  • 添加一个带有以下注释的空白文件
{{--Create Something Amazing--}}

tests/Feature/AutomatedRouteTests.php

  • 这只会在索引和创建操作上执行
  • 如果它还不存在,则创建此文件
  • 一个基本的特性测试,以调用此路由(仅GET)并断言成功的响应
public function testPizzaPieIndex()
{
    $response = $this->get('pizza-pies');

    $response->assertStatus(200);
}

创建模型和迁移

  • 如果您尚未创建模型,您将有机会创建它。如果您选择创建模型,您还可以选择创建迁移。
  • 根据您的选择,此包将运行php artisan make:model PizzaPiephp artisan make:model PizzaPie -m

非模型路由

如果您正在创建不与模型关联的路由,此包的工作方式略有不同。

php artisan make:route <slug> <resourceful-action> [<controller-name>]

因此,如果您运行以下命令

php artisan make:route /send-activation-email store

您将得到以下内容

web.php

Route::post('/send-activation-email/', [\App\Http\Controllers\SendActivationEmailController::class, 'store']);

Http\Controllers\SendActivationEmailController.php

  • 如果它还不存在,则会创建此文件
  • 方法将被添加到控制器的底部
public function store(Request $request)
{
    
}

不会创建视图,因为这是一个存储操作,也不会创建测试,因为它不是索引或创建操作。

安全

如果您发现任何安全相关的问题,请通过电子邮件kevin@intellow.com联系,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

Laravel包样板

此包是使用Laravel包样板生成的。