如果您计划将其仅用于自己的代码,并将其与WordPress的默认数据库驱动程序一起运行(wpdb
), 我看不出有什么真正的问题。
只有当您计划完全集成/覆盖WP的驱动程序时,我才认为这几乎是不可能的;硬编码SQL在整个core中非常丰富,将其转换为ActiveRecord方法调用将挫败任何代码优化的努力。
FWIW,WordPress确实支持驱动程序覆盖db.php
在您的wp-content
目录
Update: 为了将PHP ActiveRecord引入WordPress,我建议使用MU插件。这使它远离主题(不属于主题的地方)、WordPress核心,并确保始终加载它(Must公司Use插件无法在管理中停用)。
将库复制到wp-content/mu-plugins/php-activerecord
. 然后在wp-content/mu-plugins/php-activerecord.php
:
<?php
/**
* Plugin Name: PHP ActiveRecord
* Description: Load the PHP ActiveRecord library for use in plugins & themes.
* Version: 0.1
* Author: TheDeadMedic
* Author URI: http://wordpress.stackexchange.com/users/1685/thedeadmedic
* Plugin URI: http://wordpress.stackexchange.com/a/155530
*/
require_once dirname( __file__ ) . \'/php-activerecord/ActiveRecord.php\';
ActiveRecord\\Config::initialize(
function ( $cfg ) {
$cfg->set_model_directory( \'/path/to/your/model_directory\' );
$cfg->set_connections(
array(
\'wordpress\' => sprintf( \'mysql://%s:%s@%s/%s?charset=%s\', DB_USER, DB_PASSWORD, DB_HOST, DB_NAME, DB_CHARSET ),
)
);
$cfg->set_default_connection( \'wordpress\' );
}
);