Docs * http://www.php.net/manual/ru/book.mongo.php * http://www.yiiframework.com/extension/yiimongodbsuite/ * http://canni.github.io/YiiMongoDbSuite/

Для начала работы с монго из php нужно установить php-драйвер для работы с ней. Добавить extension=mongo.so в php.ini и перезапустить сервер. Если всё правильно - сейчас стало возможным использовать классы драйвера, но мы хотим, чтобы использование монго было таким же, как использование обычных AR-моделей.Для этой цели давайте воспользуемся расширением YiiMongoDbSuite. Подключаем его как написано в документации:

'import' => array(
  ...
  'ext.YiiMongoDbSuite.*',
),
…
'components' => array(
  ...
  'mongodb' => array(
      'class'            => 'EMongoDB',
      'connectionString' => 'mongodb://localhost',
      'dbName'           => 'testdb',
      'fsyncFlag'        => true,
      'safeFlag'         => true,
      'useCursor'        => false
  ),
),

Описание модели:

class Users extends EMongoDocument
{
    public $username;
    public $passowrd;
    public $email;
    public $is_active;
 
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }
 
    public function getCollectionName()
    {
        return 'users';
    }
 
    public function rules()
    {
        return array(
            array('username, password, email', 'required'),
            array('username, password, email', 'length', 'max' => 255),
            array('is_active', 'numerical', 'integerOnly' => true),
        );
    }
 
    public function attributeLabels()
    {
        return array(
            'username'  => 'Имя пользователя',
            'password'   => 'Пароль',
            'email'   => 'E-mail',
            'is_active' => 'Актывный пользователь?'
        );
    }
}

Leave a Comment

Fields with * are required.

Please enter the letters as they are shown in the image above.
Letters are not case-sensitive.