intellow / make-route-for-laravel
添加一个php artisan make:route命令。这将在web.php中构建路由,控制器,甚至生成单元测试
0.2
2020-03-09 14:57 UTC
Requires
- illuminate/support: ^5.6 || ^6.0 || ^7.0
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.5
README
这是一个有意见的包,它会在您的路由和控制器文件中创建样板代码。
安装
您可以通过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 PizzaPie
或php 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包样板生成的。