erenav / makers
自定义Laravel生成命令
2.0
2024-06-22 03:45 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- laravel/framework: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.16
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.4
Suggests
- spatie/laravel-model-states: Needed only if using the make:[state|state-implementation|state-transition] commands
README
针对Laravel应用的具有个人见解的自定义artisan make
命令。
安装
使用以下命令通过composer安装此包
composer require erenav/makers --dev
命令
操作
操作类通过将特定任务合并到单个类中,从控制器、作业、监听器等中执行,从而简化应用程序逻辑。这种方法提高了代码重用并简化了维护。
php artisan make:action {name}
数据传输对象 (DTOs)
DTOs用于以结构化的方式包含数据,便于在不同层次之间进行数据传输,同时保持数据的封装和组织。
php artisan make:dto {name}
php artisan make:dto {name} {--readonly}
枚举
枚举在表示变量的可能值集合时很有用。它们还提高了类型安全和可读性。
php artisan make:enum {name}
php artisan make:enum {name} {--type=int|string}
宏
宏提供了一种在不修改框架源代码的情况下向框架提供的现有类添加自定义方法的方式。
php artisan make:macros {name}
管道
管道通常用于数据转换、验证或需要对对象或值按顺序执行的一系列操作。
php artisan make:pipe {name}
状态
状态可以表示模型的不同状态或阶段,这使得处理状态转换和执行与这些状态相关的业务规则变得更容易。
php artisan make:states {base} {states*}
php artisan make:state {state} {base}
值对象
值对象将相关属性和行为封装到一个单一的、不可变的对象中。这种模式增强了代码清晰度、执行验证,并促进了更面向对象的方法来管理复杂的数据类型。
php artisan make:value-object {name}
注意
所有命令都可以访问--force
选项。包括此选项允许覆盖现有文件。
自定义
您可以使用以下命令发布存根
php artisan makers:publish-stubs
使用--force
选项覆盖以前发布的存根。
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="makers-config"
测试
composer test
变更日志
请参阅CHANGELOG获取有关最近更改的更多信息。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。