saritasa/laravel-entity-services
最新稳定版本:2.0.0
Composer 安装命令:
composer require saritasa/laravel-entity-services
包简介
Saritasa entity service for typical CRUD operations
关键字:
README 文档
README
Library for fast build laravel based application with simple CRUD operations.
As Repositories layer uses laravel-repositories library.
Laravel 5.5/6.0
Install the saritasa/laravel-entity-services package:
bash $ composer require saritasa/laravel-entity-services ```
## Usage
### Get service for model:
```php
$entityServiceFactory = app(IEntityServiceFactory::class);
$entityService = $entityServiceFactory->build(User::class);
*Note: if entity class not exists, EntityServiceException will be thrown
Configuration
Publish file
To publish configuration file you can run next command:
php artisan vendor:publish --tag=laravel_entity_services
It will copy file laravel_entity_services.php in config directory.
Register custom entity service implementation
To register your own IEntityService implementation you can put it into configuration file, like:
return [ 'bindings' => [\App\Models\User::class => \App\EntityServices\UserEntityService::class,],];
NOTE: Just remember that default IEntityServiceFactory implementation can work only with classes extended from EntityService. If you want change this behavior you should add your own implementation.
Available operations:
Create:
$createdModel = $entityService->create($params);
Update:
php $entityService->update($model, $params);
Delete:
php $entityService->delete($model);
Custom service for entity:
If you need use custom service for some entity, you can register it in factory using register method.
Example:
$entityServiceFactory = app(IEntityServiceFactory::class); $entityService = $entityServiceFactory->register(User::class, YourServiceRealization::class);
Note: Your realization must be extend EntityService class
Events
EntityCreatedEvent - Throws when entity is created.
EntityUpdatedEvent - Throws when entity is updated.
EntityDeletedEvent - Throws when entity is deleted.
Contributing
- Create fork, checkout it
- Develop locally as usual. Code must follow PSR-1, PSR-2 -
run PHP_CodeSniffer to ensure, that code follows style guides - Cover added functionality with unit tests and run PHPUnit to make sure, that all tests pass
- Update README.md to describe new or changed functionality
- Add changes description to CHANGES.md file. Use Semantic Versioning convention to determine next version number.
- When ready, create pull request
Make shortcuts
If you have GNU Make installed, you can use following shortcuts:
make cs(instead ofphp vendor/bin/phpcs) -
run static code analysis with PHP_CodeSniffer
to check code stylemake csfix(instead ofphp vendor/bin/phpcbf) -
fix code style violations with PHP_CodeSniffer
automatically, where possible (ex. PSR-2 code formatting violations)make test(instead ofphp vendor/bin/phpunit) -
run tests with PHPUnitmake install- instead ofcomposer install*make allor justmakewithout parameters -
invokes described above install, cs, test tasks sequentially -
project will be assembled, checked with linter and tested with one single command
Resources
统计信息
- 总下载量: 14.46k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-06-07