0

アプリケーションを Wordpress と統合する必要があります。そのためのモジュールがあります。しかし、別のデータベース インスタンスを使用する必要があります。私のアプリでは「デフォルト」を使用し、Wordpress モジュールでは「wordpress」データベース インスタンスを使用したいと考えています。どうやってやるの?modules\wordpress\init.php の Database::$default = 'wordpress' は Module と App のインスタンスを設定するためです。

4

1 に答える 1

0

次のように、構成ファイルで 2 つのデータベース接続を定義した場合:

config/database.phpAPPPATH( 、などに入れることができますMODPATH)

return array
(
    'default' => array
    (
        'type'       => 'mysql',
        'connection' => array(
            'hostname'   => 'localhost',
            'username'   => 'dbuser',
            'password'   => 'mypassword',
            'persistent' => FALSE,
            'database'   => 'my_db_name',
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',
    ),
    'wordpress' => array(
        'type'       => 'mysql',
        'connection' => array(
            'hostname'   => 'localhost',
            'username'   => 'other_user',
            'password'   => 'mypassword',
            'persistent' => FALSE,
            'database'   => 'wordpress',
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',
    ),
);

次に、次のように参照できます。

// This would connect to the database defined as 'default'
$default = Database::instance();

// This would connect to the database defined as 'wordpress'
$remote  = Database::instance('wordpress');

モジュールを使用している場合は、WordPress データベースを使用するORM各モジュールで次のようにします。Model

protected String $_db_group = 'wordpress';

(または、抽象クラスを作成できます...

abstract class Model_WordPress extends ORM
{
    protected String $_db_group = 'wordpress';
}

...そして、WordPressを から直接Model拡張するのではなく拡張します。たとえば、.)Model_WordPressORMclass Model_WordPress_Post extends Model_WordPress ...

于 2013-12-26T05:51:15.003 に答える