fightmaster / dao
为 Symfony 2 项目简单实现数据访问对象(DAO)模式。
1.0.2
2013-02-17 13:04 UTC
Requires
- php: >=5.3.2
- doctrine/common: >=2.2,<2.4-dev
This package is not auto-updated.
Last update: 2024-09-14 12:44:34 UTC
README
为 symfony 2 项目简单实现数据访问对象(DAO)模式。
- 包含单元测试:是
- 供应商:doctrine-common
优点
- 允许您快速在 ORM 和 ODM doctrine 管理器之间切换
- 促进编写整洁和经过测试的代码。所有业务应用逻辑都应该在服务中
安装
如果您使用 deps 文件,可以添加
[dao] git=https://github.com/fightmaster/dao.git
或者如果您想克隆仓库
git clone https://github.com/fightmaster/dao.git vendor/dao
如果您使用 Composer,可以添加
{"require": {"fightmaster/dao": "1.x"}}
将命名空间添加到您的自动加载器中
<?php $loader->registerNamespaces(array( ............ 'Fightmaster' => __DIR__.'/../vendor/dao/src', ........... ));
示例
示例服务层
<?php ..... Class ProductService extends Service { public function __construct(ManagerInterface $manager) { $this->manager = $manager; } .... public function saveProduct(Product $product) { $prePersistEvent = new PrePersistEvent($product); $this->dispatcher->dispatch('product_pre_persist', $prePersistEvent); if (!$prePersistEvent->isAborted()) { $this->manager->save($product); } $postPersistEvent = new PostPersistEvent($product); $this->dispatcher->dispatch('product_post_persist', $postPersistEvent); } public function changeProductName(Product $product, $newName) { .... $product->setName($newName); $this->saveProduct($product); } }