akoepcke / laravel-spawn
此包已被弃用且不再维护。未建议替代包。
Laravel 包,用于生成 CRUD 和视图文件
0.2
2018-11-13 14:52 UTC
Requires
- php: ~7.0
- illuminate/support: ^5.6
- symfony/process: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
This package is auto-updated.
Last update: 2020-08-29 05:07:32 UTC
README
此包提供了一些 Laravel 命令,通过生成一些常用的文件来加速 Laravel 的开发。它是我的 Laravel-Skeleton 的补充。
特性
- 创建带 Uuid 的软删除模型
- 创建 ModelController 和 TrashedModelController
- 为 ModelController 和 TrashedModelController 创建默认特性测试
- 创建并注册 ModelPolicy
- 注册角色和权限
- 创建 model/[create,edit,index].blade.php
- 创建 trashedModel/index.blade.php
- 创建并注册数据库迁移、工厂和种子文件
- 在 Routes/web.php 中注册路由和路由模型绑定
以下特性计划在未来实现TM
- 在 RouteServiceProvider 中注册路由模型绑定
- 使 uuid 可标记
安装
您可以通过 composer 安装此包
composer require "akoepcke/laravel-spawn"
使用
运行以下命令以将配置文件发布到 config/spawn.php
php artisan vendor:publish --provider="AKoepcke\LaravelSpawn\ServiceProvider" --tag="stubs""
运行以下命令以将文件存根发布到 resources/stubs
php artisan vendor:publish --provider="AKoepcke\LaravelSpawn\ServiceProvider" --tag="config""
此包提供了以下命令
php artisan spawn:monster {model}
将运行所有 spawn 命令php artisan spawn:model {model}
将创建 {Model}.phpphp artisan spawn:controller {model}
将创建 {Model}Controller.php 和 Trashed{Model}Controller.phpphp artisan spawn:test {model}
将为控制器创建几个特性测试php artisan spawn:policy {model}
将创建 {Model}Policy.phpphp artisan spawn:role {model}
将创建一个具有基本 CRUD 权限的管理员角色php artisan spawn:view {model}
将创建 {Model}Policy.php 并将其注册到 AuthServiceProvider 中php artisan spawn:database {model}
将创建迁移、工厂和种子文件,并在 DatabaseSeeder 中注册种子php artisan spawn:route {model}
将创建 CRUD 路由和路由模型绑定
注意:大多数命令将覆盖现有文件。一些命令,如 spawn:route
,将附加到现有文件。还有一些命令,例如种子注册,将插入到现有文件中。
注意事项
- 此包补充了我的 Laravel-Skeleton,它已经安装了一些内容。一些 spawn 命令在没有适当设置的情况下会失败。
- 此包将在您的 routes/web.php 中注册一些路由。您可能希望通过将它们包装在 auth-protected 组中来保护这些路由。我还使用此组分配路由 admin 前缀。
Route::group(['prefix' => 'admin', 'middleware' => 'auth']), function() { // copy here }
- 如果生成的路由没有经过 auth 中间件检查,某些 PHPUnit 测试可能会失败。
- 此外,我还喜欢将路由模型绑定剪切/粘贴到路由文件的最顶部。其他人则更倾向于将其放入app/Providers/RouteServiceProvider.php。
变更日志
请查看变更日志以获取有关最近更改的更多信息。
鸣谢
- Anne Köpcke
- 本软件包的灵感来源于一篇名为从零开始构建 Laravel CRUD 生成器的文章。
- 还要感谢Sander van Hooft及其从零开始构建 Laravel 软件包电子邮件课程。
许可
MIT 许可证(MIT)。请参阅许可文件以获取更多信息。