jtrw / dao
用于数据库的Data Access Object
4.1.0
2024-07-23 08:31 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: >=8.0
- squizlabs/php_codesniffer: ^3.0
README
Data Access Object是php PDO的一个小巧包装器。在select查询中增加了更多方便的方法使用条件。
PDO使用
<?php $db = new PDO( $GLOBALS['config']['db']['dsn'], $GLOBALS['config']['db']['user'], $GLOBALS['config']['db']['pass'] ); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $db->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); $res = $db->query('SET NAMES utf8mb4'); if (!$res) { throw new Exception('Database connection error); } $db = DataAccessObject::factory($db);
搜索
$search = [ 'columnName' => 5, 'columnName2&IN' => [1, 2, 3, 4] 'columnName3&<' => 7, 'columnName4&>=' => 3 ]; $sql = "SELECT * FROM users"; $db->select($sql, $search, [], DataAccessObjectInterface::FETCH_ALL)->toNative();
条件
环境
make install
make start
make stop
单元测试
php ./vendor/phpunit/phpunit/phpunit -c ./tests/phpunit.xml --testdox --stderr --colors
make tests
- 运行所有测试并包含迁移
make run-tests
- 运行所有测试但不包含迁移