saritasa / laravel-entity-services
此包已被弃用且不再维护。未建议替代包。
Saritasa 实体服务,用于典型的 CRUD 操作
2.0.0
2024-08-07 07:23 UTC
Requires
- php: >=8.0
- illuminate/support: >=5.0 <12.0
- saritasa/laravel-repositories: ^4.0
Requires (Dev)
- mockery/mockery: ^1.1
- phpunit/phpunit: ^8.5
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-07 07:28:30 UTC
README
用于快速构建基于 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 - 当实体被删除时抛出。
贡献
- 创建分支,检出它
- 本地开发与平时一样。 代码必须遵循 PSR-1, PSR-2 -
运行 PHP_CodeSniffer 以确保代码遵循样式指南 - 为新增功能添加单元测试 并运行 PHPUnit 以确保所有测试通过
- 更新 README.md 以描述新增或更改的功能
- 将更改描述添加到 CHANGES.md 文件。使用 语义化版本控制 约定来确定下一个版本号。
- 准备好后,创建 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
依次执行上述的 安装、代码风格检查、测试 任务
项目将通过单一命令进行构建、检查和测试