alexantr / fluentpdo-service-provider
此包已被弃用,不再维护。未建议替换包。
FluentPDO的Pimple服务提供者
dev-master / 1.0.x-dev
2016-08-10 15:05 UTC
Requires
- php: >=5.3.0
- fpdo/fluentpdo: 1.1.*
- pimple/pimple: ~3.0
This package is not auto-updated.
Last update: 2022-02-01 12:46:43 UTC
README
FluentPDO的Pimple服务提供者FluentPDO。
安装
通过Composer安装提供者
composer require alexantr/fluentpdo-service-provider "~1.0@dev"
注册和配置
$app->register(new \Alexantr\Pimple\Provider\FluentPdoServiceProvider(), array( 'fpdo.pdo_options' => array( 'dsn' => 'mysql:dbname=blog;host=localhost;charset=UTF8', 'username' => 'username', 'password' => 'password', ), 'fpdo.debug' => false, ));
使用示例
获取"posts"表的前十条记录
$posts = $app['fpdo'] ->from('article') ->where('published_at > ?', $date) ->orderBy('published_at DESC') ->limit(5);
更多示例请参考FluentPDO文档。
启用调试
将查询记录到STDERR(用于控制台调试)
$app['fpdo.debug'] = true;
或设置回调
$app['fpdo.debug'] = $app->protect(function (\BaseQuery $query) use ($app) { // simple example with logger if (isset($app['logger']) && $app['logger'] !== null) { $debug_line = array(); $debug_line[] = 'Query: ' . $q->getQuery(false); $debug_line[] = 'Params: ' . implode(', ', $q->getParameters()); $debug_line[] = 'RowCount: ' . ($q->getResult() ? $q->getResult()->rowCount() : 0); $debug_line[] = 'Time: ' . $q->getTime(); $app['logger']->debug(implode(', ', $debug_line)); } });