2009年12月07日
Symfony と WordPressの連携の際に重なってしまう関数
Symfony と WordPressの連携の際に重なってしまう関数として esc_js()がある。
Symfonyのコアファイルのlib/helper/EscapingHelper.phpで定義されている。
これをdefine(’ESC_JS’, ‘esc_js’);とともにコメントアウトしてしまえば大丈夫なのだけど、こうするとコアファイルをいじることになるので、アップグレードの時に面倒になる。
ほんとはコアファイルに手をいれずに変更できればいいのだけど、EscapingHelper.phpの読み込みはlib/view/sfPHPView.class.phpの44行目あたりの
$helpers = array_unique(array_merge(array('Helper', 'Url', 'Asset', 'Tag', 'Escaping'), sfConfig::get('sf_standard_helpers')));
で指定されていて、settings.ymlのstandard_helpersで指定しても追加されるだけになってしまう。
と思いきやlib/config/sfApplicationConfiguration.class.phpをみるとgetHelperDirsでhelperを読み込むディレクトリをとってきてる。というわけでプロジェクトディレクトリのapps/front/lib/helper/にEscapingHelper.phpをコピーして該当行をコメントアウトすることで対応できた。
ただ、このファイルがバージョンアップしたときには、ここにコピーし直して同じ作業を擦る必要があるので注意しておかないとまずそう。
タグsymfony WordPress 未分類


