私はRuby on Railsと仕事をしたことがあり、素晴らしいRoRのActiveRecordに近いものをするコードを探していました。
このサイト を踏んだ。そのPHP-ActiveRecord!
私はそれが素晴らしいと思った、そしてそれはまさに私が探していたものでした、しかし私はWordPressでそれを使用しようとしている誰も見つけなかったので、私は少し怖くなりました。
あなたが共有できる経験はありますか?
私の最初のアイデアは、functions.phpのライブラリを要求し、モデルをフォルダの中に入れて子テーマを作成することでした。私が本当に知らないのは、データベース内のテーブルをどのように処理するのかということです。
さて、あなたの感想を待っています。
あなた自身のコードのためだけにそれを使い、そしてWordPressのデフォルトデータベースドライバ(wpdb
)と一緒にそれを走らせるつもりなら、私は本当の問題を見ません。
あなたがWPのドライバを完全に統合/上書きすることを計画している場合に限り、私はそれがほぼ不可能であると思います。ハードコードされたSQLはコア全体で豊富に使用されているため、それらをActiveRecordメソッド呼び出しに変換すると、コード最適化のためのあらゆる努力が無効になります。
確かに、WordPressはあなたのdb.php
ディレクトリのwp-content
によるドライバの上書きをサポートしています。
更新: WordPressにPHP ActiveRecordを取り込むには、MUプラグインを使用することをお勧めします。これはテーマの外(それが属していないところ)、WordPressコアの外にそれを保ち、常にロードされることを保証します( _ m _ ust _ u _ seプラグインは非アクティブにできません管理者)。
ライブラリを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' );
}
);
PHPactiverecord は2013年以来、死んでいるプロジェクトです。
代わりに _ wpmvc _ のモデルを使用してください。