saritasa/laravel-entity-services

此包已被弃用且不再维护。未建议替代包。

Saritasa 实体服务,用于典型的 CRUD 操作

2.0.0 2024-08-07 07:23 UTC

README

PHP Unit PHP CodeSniffer codecov PHPv Downloads

用于快速构建基于 Laravel 应用程序的库,具有简单的 CRUD 操作。

因为存储库层使用 laravel-repositories 库。

Laravel 5.5/6.0

安装 saritasa/laravel-entity-services

bash $ composer require saritasa/laravel-entity-services ```  
## Usage    
### Get service for model: 
 ```php    
 $entityServiceFactory = app(IEntityServiceFactory::class);  
 $entityService = $entityServiceFactory->build(User::class);

*注意:如果实体类不存在,将抛出 EntityServiceException

配置

发布文件

要发布配置文件,可以运行以下命令

php artisan vendor:publish --tag=laravel_entity_services

它将把文件 laravel_entity_services.php 复制到 config 目录。

注册自定义实体服务实现

要注册自己的 IEntityService 实现,可以将它放入配置文件中,如下所示

return [
 'bindings' => [\App\Models\User::class => \App\EntityServices\UserEntityService::class,],];

注意:请记住,默认的 IEntityServiceFactory 实现只能与扩展自 EntityService 的类一起工作。如果您想更改此行为,您应该添加自己的实现。

可用操作

创建

 $createdModel = $entityService->create($params); 

更新

php $entityService->update($model, $params);

删除

php $entityService->delete($model);

实体自定义服务

如果您需要为某些实体使用自定义服务,您可以使用 factory 中的 register 方法进行注册。

示例:

 $entityServiceFactory = app(IEntityServiceFactory::class);
 $entityService = $entityServiceFactory->register(User::class, YourServiceRealization::class);

注意:您的实现必须扩展 EntityService 类

事件

EntityCreatedEvent - 当实体被创建时抛出。
EntityUpdatedEvent - 当实体被更新时抛出。
EntityDeletedEvent - 当实体被删除时抛出。

贡献

  1. 创建分支,检出它
  2. 本地开发与平时一样。 代码必须遵循 PSR-1PSR-2 -
    运行 PHP_CodeSniffer 以确保代码遵循样式指南
  3. 为新增功能添加单元测试 并运行 PHPUnit 以确保所有测试通过
  4. 更新 README.md 以描述新增或更改的功能
  5. 将更改描述添加到 CHANGES.md 文件。使用 语义化版本控制 约定来确定下一个版本号。
  6. 准备好后,创建 pull request

创建快捷方式

如果您已安装 GNU Make,则可以使用以下快捷方式

  • make cs(代替 php vendor/bin/phpcs)-
    使用 PHP_CodeSniffer 运行静态代码分析以检查代码风格
    以检查代码风格
  • make csfix(代替 php vendor/bin/phpcbf)-
    使用 PHP_CodeSniffer 自动修复代码风格违规,尽可能做到(例如,PSR-2 代码格式化违规)
    自动修复(例如,PSR-2 代码格式化违规)
  • make test(代替 php vendor/bin/phpunit)-
    使用 PHPUnit 运行测试
  • make install - 替代 composer install * make all 或不带参数的 make
    依次执行上述的 安装代码风格检查测试 任务
    项目将通过单一命令进行构建、检查和测试

资源