承接 mpenicaud/php-mongo-yii 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-04-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固