Как я могу использовать источники данных в CakePHP 2? - PullRequest
2 голосов
/ 20 июня 2011

Мой источник данных MongoDB находится в plugins / mongodb .

Согласно новому загрузчику классов в 2.0 Я должен сделать это:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');

Но как мне это инициировать?

Или лучше использовать ConnectionManager? Если да, то как мне его импортировать?

Ответы [ 2 ]

7 голосов
/ 22 июня 2011

Если вы ХОТИТЕ использовать свой способ и загружать этот источник данных «вручную», а не как сказал Мэтт, вы бы инициировали его так:

# /path/to/your/datasource
class MongoDbDatasource {...} //check how this class is named!

Внутри вашего файла, куда вы его загружаете, вы можете сделать это:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');
$mongodb = new MongoDbDatasource();

Но, как уже было сказано, конфигурация базы данных будет лучше:

public $default = array(
    'datasource' => 'Mongodb.MongodbSource',
    'database' => 'mydbname',
    'host' => 'yourhost',
    'port' => 'yourport',
    'login' => 'yourlogin',
    'password' => 'yourpassword'
);

Теперь вам просто нужно добавить CakePlugin::load('Mongodb'); к вашему bootstrap.php, чтобы ваш плагин был загружен.

1 голос
/ 20 июня 2011

Вы должны указать своей конфигурации базы данных, какой источник данных использовать:

class DATABASE_CONFIG {

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'user',
    'password' => 'password',
    'database' => 'database_name',
    'prefix' => '',
);

}
...