thisisdevelopment / laravel-base-dev
为thisisdevelopment/laravel-base提供的基础开发依赖
Requires
- php: >=8.0
- barryvdh/laravel-debugbar: ^3.2
- barryvdh/laravel-ide-helper: ^2.6 | ^3.0
- illuminate/console: 6.x | 7.x | 8.x | 9.x | 10.x | 11.x
- illuminate/database: 6.x | 7.x | 8.x | 9.x | 10.x | 11.x
- illuminate/support: 6.x | 7.x | 8.x | 9.x | 10.x | 11.x
- squizlabs/php_codesniffer: ^3.5
- thisisdevelopment/laravel-test-snapshot: ^0.3.0
- vlucas/phpdotenv: ^4.0|^5.0
README
为thisisdevelopment/laravel-base提供的基础开发依赖 这个包应该仅作为开发依赖添加
目前该安装以下依赖
- squizlabs/php_codesniffer
- barryvdh/laravel-debugbar
- barryvdh/laravel-ide-helper
- thisisdevelopment/laravel-test-snapshot
除了依赖项,此包还包括一个vendor/bin/dev
脚本,这是一个辅助脚本,用于管理项目的Docker Compose设置
域模板代码生成
一些Artisan命令可用于自动生成域代码。这些可以用于快速设置新域。
强制选项
-f, --force force generation when class already exists
所有命令都允许您传递--force
选项。使用此选项可以覆盖域中的现有文件。当需要使用新定义升级当前安装时,可能需要这样做。默认情况下,此选项为false
,命令将失败并显示文件已存在。
make:domain
这是生成一切的主要入口点。它接受多个(可选)参数
-a, --all Generate all related files
--namespace The root namespace the domain should be part of. Default: Domain
--model generate model
--repository generate repository interface
--exception generate exception
--actions generate all actions
--create-action generate create-action
--update-action generate update-action
--delete-action generate delete-action
--events generate model
--abstract-event generate abstract-event
--creating-event generate creating-event
--created-event generate created-event
--updating-event generate updating-event
--updated-event generate updated-event
--deleting-event generate deleting-event
--deleted-event generate deleted-event
--dtos generate all dtos
--create-dto generate create-dto
--update-dto generate update-dto
这意味着您可以通过传递--all
在单个命令中生成一切,或者使用其他选项之一或多个指定您想要生成的特定类。
例如,要为Foo
域中的Bar
模型生成仅2个特定操作和一个存储库,请运行以下命令
$ ./artisan make:domain Foo Bar --repository --create-action --delete-action
请注意,所有生成的代码都假设其他类可用。例如,Action
类都假设存在RepositoryInterface
、Model
以及相应的Dto
和Event
类。这意味着您可以为此单个类运行此命令,但可能需要稍后修改代码。
由make:domain
创建的操作、事件和Dto
限于create(d)
、update(d)
和delete(d)
。您可以创建更多类型,但必须手动调用make:domain-{domain} {model} {type}
。例如:
$ ./artisan make:domain-action Foo Bar update-email $ ./artisan make:domain-event Foo Bar update-email $ ./artisan make:domain-dto Foo Bar update-email
这将生成Bar\UpdateEmailBarAction
、Bar\BarUpdateEmailEvent
和Bar\UpdateEmailBarDto
类。
运行整个套件将生成以下文件
app/Domain/{domain}/
Actions/
{model}/
Create{model}Action
Delete{model}Action
Update{model}Action
Dtos/
{model}/
Create{model}Dto
Update{model}Dto
Events/
{model}/
Abstract{model}Event
{model}CreatingEvent
{model}CreatedEvent
{model}UpdatingEvent
{model}UpdatedEvent
{model}DeletingEvent
{model}DeletedEvent
Exceptions/
{model}Exception
Models/
{model}
Repositories/
{model}RepositoryInterface
命名空间选项
提供--namespace
选项允许您将默认的Domain
根命名空间更改为其他名称。例如,使用--namespace "ThisIsDevelopment\\LaravelDomain"
将在Order域中生成以下Product模型:ThisIsDevelopment\LaravelDomain\Order\Models\Product
。