mpenicaud/php-mongo-yii
Composer 安装命令:
composer require mpenicaud/php-mongo-yii
包简介
PHPMongo Yii Adapter - based on sokil/php-mongo extention
README 文档
README
Yii Adapter for PHPMongo ORM
Installation
You can install library through Composer:
{ "require": { "mpenicaud/php-mongo-yii": "dev-master" } }
Configuration of Client
<?php return array( 'components' => array( // configure mongo service 'mongo' => array( 'class' => '\mpenicaud\Mongo\Yii\ClientAdapter', 'dsn' => 'mongodb://127.0.0.1', 'options' => array( 'connect' => true, 'readPreference' => \MongoClient::RP_SECONDARY_PREFERRED, ), 'defaultDatabase' => 'database_name', 'map' => array( 'database_name' => array( 'collectionName1' => '\Collection\Class1', 'collectionName2' => '\Collection\Class2', ) ), 'logger' => 'somePsrCompartibleLogService', ), ), // define log 'somePsrCompartibleLogService' => array( 'class' => '\SomePSRLogger', ), );
For PSR compartible logger you can use adapter to Yii's log https://gist.github.com/sokil/56654a5abdfbcce411ea or Monolog
Using mongo in code:
<?php // get client $client = \Yii::app()->mongo->getClient(); // get database $database = \Yii::app()->mongo->getDatabase('database_name'); // get collection of default database $collection = \Yii::app()->mongo->getCollection('collectionName1');
Routing Yii logs to mongo
Configure logger to use mongo:
<?php return array( 'components' => array( // define connection service 'mongo' => array( 'class' => '\mpenicaud\Mongo\Yii\ClientAdapter', // ... ), // configure log service 'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( 'class' => '\mpenicaud\Mongo\Yii\LogRoute', 'levels' => 'error, warning', // define collection name where to store log records 'collectionName' => 'log', // define mongo connection service used to record logs 'serviceName' => 'mongo', ), ), ), ), );
Data Provider
<?php // get cursor $cursor = Yii::app()->mongo->getCollection('collName')->find()->where('type', 10); // get data provider $dataProvider = new \mpenicaud\Mongo\Yii\DataProvider($cursor, array( 'attributes' => array('name', 'type'), 'pagination' => array('pageSize' => 30) ));
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-04-25