HOME>WEBプログラム覚書>[WordPress3.5] Zend_Loader_Autoloader利用時のWarningを解消する方法

[WordPress3.5] Zend_Loader_Autoloader利用時のWarningを解消する方法

ちょうど一年前に投稿したZend_Loader_Autoloader を使うとWarningの解決方法がわかった。 去年もこの時期WordPress触ってたんですね。 利用したZendFlameworkのバージョンは1.11.7。

必要なものだけ追加

Zend_Loader_Autoloader::setFallbackAutoloader(true)を利用すると全てのクラス呼び出しが対象になるため なので必要なものだけ追加します。

デフォルトで「Zend_」「ZendX_」がネームスペースに追加されているので、それ以外で利用するものを追加します。 PEARの場合は利用するパッケージのprefixを登録していきます。

PHP

  1. <?php
  2. $autoloader = Zend_Loader_Autoloader::getInstance();
  3. $autoloader->registerNamespace('Net_');
  4. $autoloader->registerNamespace('Text_');
  5. ?>

Zend_のようにベンダーprefixでいけるのはいいですが、PEARとか厳しいですね。 その場合は下記の方法で。

wp_を無視

wp_はautoloadを利用しないようにします。

PHP

  1. <?php
  2. $autoloader = Zend_Loader_Autoloader::getInstance();
  3. $autoloader->setFallbackAutoloader(true)->pushAutoloader(NULL, array('wp_', 'WP_', '_WP_'));
  4. ?>

wordpress以外でwp_、WP_が付くクラスを作ってなければうまくいくとおもわれます。

基本的にsetFallbackAutoloader(true)以外はパフォーマンス的に微妙っぽいけど仕方ないですね。

投稿日 2012年12月22日 02:20
カテゴリ PHP
タグ WordPress | Zend Framework | エラー
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1314

コメント

コメントする
Name
Email Address
URL