thisisdevelopment/laravel-base-dev

为thisisdevelopment/laravel-base提供的基础开发依赖

0.6.8 2024-04-25 16:15 UTC

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类都假设存在RepositoryInterfaceModel以及相应的DtoEvent类。这意味着您可以为此单个类运行此命令,但可能需要稍后修改代码。

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\UpdateEmailBarActionBar\BarUpdateEmailEventBar\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