caridea / dao
DAO支持库的小虾米
3.0.0
2018-01-29 00:11 UTC
Requires
- php: >=7.1.0
- caridea/event: ^3.0
- psr/log: ^1.0
Requires (Dev)
- doctrine/orm: ^2.0.0
- mongodb/mongodb: ^1.2.0
- phpunit/phpunit: ^6.0.0
Suggests
- ext-mongodb: Allows use of MongoDB DAO
- doctrine/orm: Allows use of Doctrine2 DAO
- mongodb/mongodb: In case you want to make life easier for yourself
This package is not auto-updated.
Last update: 2024-09-14 19:09:26 UTC
README
Caridea是一个微小的PHP应用程序库。这个小巧的家伙是你只需一些辅助而不需要完整框架时使用的。
这是其数据访问对象(DAO)支持组件。您可以使用这些类来支持您编写的DAO。
安装
您可以使用Composer安装此库
$ composer require caridea/dao
- 此项目的master分支(3.x版本)需要PHP 7.1,并依赖于
caridea/event
。 - 此项目的2.x版本需要PHP 7.0,并依赖于
caridea/event
。
合规性
此库的发布将遵循语义版本控制。
我们的代码旨在遵循PSR-1、PSR-2和PSR-4。如果您发现任何与标准合规性相关的问题,请发送拉取请求!
文档
功能
我们提供了一个机制,将供应商特定的异常(目前为MongoDB和Doctrine异常)转换为标准异常层次结构。
Conflicting
– 用于并发失败的异常。Inoperable
– 用于无效API使用和配置问题的异常。Locked
– 用于不可写入的记录的异常。Unreachable
– 用于连接问题的异常。Unretrievable
– 用于意外结果,例如没有结果或结果过多的情况的异常。Violating
– 用于约束违反的异常。Duplicative
– 用于唯一约束违反的异常。
- 当所有其他方法都失败时,还有
Generic
。
我们还提供了抽象DAO,允许您调用持久化API,并自动转换异常。
class MyDao extends \Caridea\Dao\MongoDb { public function create($record) { $this->logger->info("Creating the record"); $this->doExecute(function ($manager, $collection) use ($record) { $bulk = new \MongoDB\Driver\BulkWrite(); $bulk->insert($record); return $manager->executeBulkWrite($collection, $bulk); }); } }