ritenn/implementator

自动接口绑定到实现,并有助于创建自定义类文件,例如 Service 或 Repository。

v1.0.2 2021-02-12 19:39 UTC

This package is auto-updated.

Last update: 2024-09-13 04:02:48 UTC


README

此包添加了额外的 3 个 artisan 命令,可以加快您的开发速度。您可以通过 artisan 命令快速创建合约/接口并将其实现到服务或仓库层,就像使用任何其他 artisan 命令一样,例如 make:model 等。此外,它还会自动通过基本文件名将接口绑定到实现,这意味着您不必浪费时间去手动完成。

让您的代码整洁且易于阅读!

安装

需要 PHP >=7.0 和 Laravel 7.x

composer require ritenn/implementator

发布配置

这将把 'implementator' 配置复制到您的应用配置目录

php artisan vendor:publish --provider="Ritenn\Implementator\ImplementatorServiceProvider" --force

可用命令和选项

  • php artisan make:service *baseName - 为您的服务层创建合约和实现
  • php artisan make:repository *baseName - 为您的仓库创建合约和实现
  • 如果想要创建仅包含层而不包含合约实现的层,可以使用选项 --without-contract
  • 最后,您还可以使用 php artisan make:contract *baseName 创建没有实现的合约。但是,如果您的配置中启用了合约分类,您还必须指定层名称,例如 --layer=Services

*baseName - 例如 TestService,基本名称是 'Test',UserRepository > User,CartContract > Cart

配置

  1. 如果您愿意,可以将其更改为 'Interfaces',这将影响文件夹/文件/类名称
    'terminology' => 'Contracts'
  2. 如果启用,命令将为您的合约创建额外的子文件夹
    'contracts_categories' => true
  3. 如果启用,生产环境中将加载缓存中的绑定
    'cache' => true
  4. 您可以添加自动绑定的异常,如果您的类需要额外的参数,这些参数无法由 Laravel 自动解析。
    'binding_exceptions' => array()
    例如:
    binding_exceptions' => array(['App\Contracts\Services\TestContract' => 'App\Services\TestService'], [... => ...], ...)