jelix / dao
基于数据库访问对象模式的轻量级对象关系映射
v1.1.0
2023-12-23 08:03 UTC
Requires
- php: >=7.4
- ext-dom: *
- ext-iconv: *
- ext-simplexml: *
- jelix/database: ^1.3.1
- jelix/file-utilities: ^1.8.4
- psr/log: ^1.1.2
Requires (Dev)
- phpunit/phpunit: 8.5.*
This package is auto-updated.
Last update: 2024-09-19 21:21:45 UTC
README
基于数据库访问对象模式的轻量级对象关系映射。
它使用 JelixDatabase 作为数据库连接器。
安装
您可以通过 Composer 安装它。在您的项目中
composer require "jelix/dao"
用法
快速入门
use \Jelix\Database\AccessParameters; use \Jelix\Database\Connection; use \Jelix\Dao\DaoLoader; // create a connector to the database $accessParameters = new AccessParameters( array( 'driver'=>'sqlite3', "database"=>"/...../tests.sqlite3", ), array('charset'=>'UTF-8') ); $connector = Connection::create($accessParameters); // path to a directory where compiled class can be stored $tempPath = '...'; // path to a directory where to find dao xml files $daosDirectory = '...'; // instance of a dao loader, using a Context object $loader = new DaoLoader( new \Jelix\Dao\Context( $connector, $tempPath, $daosDirectory ) ); $daoFile = 'myDao'; $dao = $loader->get($daoFile); // we can now use methods to query records $list = $dao->findAll(); foreach($list as $record) { echo $record->aField; } $record = $dao->get($primaryKey); echo $record->aField; $list = $dao->myCustomMethod(); //...
文档
文档位于 docs 目录。
历史
此库已从 Jelix 框架 1.7/1.8 中提取出来,并在此基础上进行了一些现代化改进。除了类名外,工厂和记录的 API 主要相同。dao 文件的 XML 格式与 Jelix 1.6/1.7/1.8 中相同。