michalwolinski / unit-of-work
工作单元(实体管理器)设计模式 Laravel 实现。
dev-master
2020-02-05 17:39 UTC
Requires
- php: ^7.4
- laravel/framework: ^6.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0@dev
This package is auto-updated.
Last update: 2024-09-06 03:54:00 UTC
README
工作单元(实体管理器)设计模式 Laravel 实现。
通过 Composer 安装
- 在控制台中运行
composer require michalwolinski/unit-of-work以安装此库。
用法
我建议使用依赖注入来注入 UnitOfWorkInterface。
在服务类中的示例实现
use App\User; use MichalWolinski\UnitOfWork\Interfaces\UnitOfWorkInterface; class Service { /** * @var UnitOfWorkInterface */ private UnitOfWorkInterface $unitOfWork; public function __construct(UnitOfWorkInterface $unitOfWork) { $this->unitOfWork = $unitOfWork; } public function example() { $user = new User(); $user->email = 'firma@haxmedia.pl'; $user->name = 'Michal Wolinski'; $user->password = 'secret'; $user2 = new User(); $user2->email = 'example@company.com'; $user2->name = 'John Doe'; $user2->password = 'secret'; // CREATE RECORDS $this->unitOfWork->insert($user); $this->unitOfWork->insert($user2); $this->unitOfWork->commit(); dump($user2->getKey()); // UPDATE RECORDS $user2->name = 'Jane Doe'; $this->unitOfWork->update($user2); $this->unitOfWork->commit(); // REMOVE RECORDS $this->unitOfWork->delete($user2); $this->unitOfWork->commit(); } }
作者
- Michal Wolinski - Haxmedia
许可证
此项目受 MIT 许可证的许可。