3

Zend_Autoload を把握していますが、拡張時に Zend 以外のクラスがロードされません。

オートローダーは次のように初期化されます。

 // Initialise Autoloader
 $autoloader = Zend_Loader_Autoloader::getInstance();
 $autoloader->suppressNotFoundWarnings(true);
 $autoloader->setFallbackAutoloader(true);
 $autoloader->registerNamespace('lib_');
 }

他のクラスでも問題なく動作します。事前に抽象クラス ファイルと実装されたインターフェイスを手動でロードする必要がありますか?

4

1 に答える 1

1

Zend_loader_autoloader は実際に抽象クラスをロードします。これは、クラスが実装する可能性のあるすべてのインターフェイスと同じです。甘い。

Zend_Loader クラスで直接デバッグ呼び出しを 2 回行うと、問題がすぐにわかりました。ファイルの名前は AbstractTableFetch.php で、クラスの名前は FetchTable でした。

ファイル名とクラス名が同じ場合にのみ、オートローダが機能することは明らかです。

于 2011-04-22T00:27:36.703 に答える