erikaraujo / laravel-stubs
具有资源的具有观点的Laravel占位符
1.0.1
2021-04-16 05:00 UTC
Requires
- php: ^7.4|^8.0
- laravel/framework: ^7.2|^8.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-16 13:13:27 UTC
README
主要占位符更改
- 控制器不扩展基本
Controller
; - 根据传递的参数,这还将为控制器添加资源;
- 迁移没有
down
函数; - 模型默认具有
with
和fillable
; - 已移除docblocks;
安装
通过composer安装此包
composer require erikaraujo/laravel-stubs --dev
如果您希望将占位符与每个更新保持同步,请将此composer钩子添加到您的composer.json文件中
"scripts": { "post-update-cmd": [ "@php artisan erikaraujo-stub:publish --force" ] }
注意:此操作具有force
参数,这将使新占位符覆盖占位符文件夹中的现有占位符。
用法
使用以下artisan
命令发布占位符
php artisan erikaraujo-stub:publish
选项
--force
php artisan erikaraujo-stub:publish --softdeletes
除非您使用--force
,否则不会替换./stubs
文件夹中的现有占位符。
--softdeletes
php artisan erikaraujo-stub:publish --softdeletes
这将自动将SoftDeletes
特性添加到您的模型占位符中,将$table->softdeletes()
添加到您的迁移占位符中,并将forceDelete()
和restore()
方法添加到控制器中。
--inertia
php artisan erikaraujo-stub:publish --inertia
这将默认将Inertia\Inertia
导入所有非API控制器占位符,并为控制器方法添加资源(如果提供模型)。
资源示例
public function index() { return Inertia::render('{{ model }}/Index', [ '{{ modelVariable }}' => {{ model }}::paginate()->onEachSide(1), ]); }
--json
php artisan erikaraujo-stub:publish --json
这将向所有API控制器添加资源,并返回带有正确HTTP响应代码的JSON响应。
资源示例
public function index() { ${{ modelVariable }} = {{ model }}::all(); return response()->json([ 'data' => ${{ modelVariable }}, 'total' => ${{ modelVariable }}->count(), ], 200); }
- 多个您可以将这些选项混合搭配,一切都将正确应用。以下所有示例都很好
php artisan erikaraujo-stub:publish --inertia --softdeletes
php artisan erikaraujo-stub:publish --json --softdeletes
php artisan erikaraujo-stub:publish --json --inertia --softdeletes
php artisan erikaraujo-stub:publish --json --inertia --softdeletes --force
测试
待办事项:添加测试以覆盖所有可能的混合匹配场景。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
目前,只需创建一个PR,我会查看。