vegas-cmf / dao
此包已弃用且不再维护。未建议替代包。
Vegas CMF DAO
v2.0.0-beta
2016-06-03 14:27 UTC
Requires
- php: >=5.5
- ext-phalcon: >=2.0
- phalcon/incubator: >=2.0
- vegas-cmf/common: 2.0.*
Requires (Dev)
- phalcon/devtools: 2.0.8
- phpunit/phpunit: 4.0.*
- satooshi/php-coveralls: 1.0.*
- vegas-cmf/mvc: 2.0.*
- vegas-cmf/odm: 2.0.*
This package is not auto-updated.
Last update: 2022-08-11 23:44:02 UTC
README
DAO库将数据访问对象模式应用于您的应用程序。
安装
通过在services
目录中添加以下片段,将\Vegas\Db\Dao\Manager
类设置为一个服务:
use Phalcon\DiInterface; use Vegas\DI\ServiceProviderInterface; /** * Class DaoServiceProvider */ class DaoServiceProvider implements ServiceProviderInterface { const SERVICE_NAME = 'dao'; /** * {@inheritdoc} */ public function register(DiInterface $di) { $di->set(self::SERVICE_NAME, function() use ($di) { $dao = new \Vegas\Db\Dao\Manager; return $dao->setDI($di); }, true); } public function getDependencies() { return []; } }
示例用法
在注入感知类中
$modelName = '\Foo\Models\Bar'; $model = new $modelName; $daoManager = $this->getDI()->get('dao'); /** @var \Foo\Models\Dao\Bar $dao */ $dao = $daoManager->get($modelName); // or $dao = $daoManager->get($model); /** @var \Foo\Models\Bar $result */ $result = $dao->findById('example_id'); /** @var \Foo\Models\Bar[] $results */ $results = $dao->findAll();
有关可用方法的完整列表,请检查\Vegas\Db\Dao\DefaultDao
类。
默认情况下,特定集合/模型的DAO类应放置在额外的Dao
后缀下,并具有相同的名称。例如,对于\Foo\Models\Bar
集合,应创建一个\Foo\Models\Dao\Bar
类。目前对类的实现没有额外的要求。