phpset/pdomodel
最新稳定版本:v1.5
Composer 安装命令:
composer require phpset/pdomodel
包简介
Simple PDO-based Model
README 文档
README
Example of using:
class YoutubeVideosModel extends \PdoModel\PdoModel { const TABLE = 'youtube_videos'; protected function create($title, $src) { $this->insert(['title' => $title, 'src' => $src]); } } $youtubeVideosModel = new YoutubeVideosModel(new \Pdo()); $result = $youtubeVideosModel->select(['id', 'likes', 'url']) ->whereEqual('published', 1) ->where('likes', '>', 100) ->orderBy('likes desc') ->limit(100) ->offset(2000) ->groupBy('author') ->getAllRows(); var_dump($result);
Setup
composer require phpset/pdomodel
Check that you have proper PHP extentions
# Change 8.2 below to your current PHP version
sudo apt install php8.2-pdo php8.2-pdo-mysql php8.2-pdo-sqlite
You need to create a usual PDO connection:
$connection = new \PDO( "mysql:host=127.0.0.1;dbname=YOURDBNAME;charset=utf8mb4", "YOURUSER", "YOURPASSWORD", [ \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, ] );
Example for creating PDO in Symfony service config:
PDO: class: \PDO arguments: - "mysql:host=127.0.0.1;dbname=YOURDBNAME;charset=utf8mb4" - "YOURUSER" - "YOURPASSWORD" - !php/const PDO::ATTR_DEFAULT_FETCH_MODE: !php/const PDO::FETCH_ASSOC !php/const PDO::ATTR_ERRMODE: !php/const PDO::ERRMODE_EXCEPTION
SQLite example
$connection = new \PDO('sqlite::db.sqlite'); new PdoModel($connection)->setTable('test_table');
Tests
# run tests ./vendor/bin/phpunit # Check coverage php -dxdebug.mode=coverage ./vendor/bin/phpunit --coverage-text
Inspired by
统计信息
- 总下载量: 7.98k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2017-08-19