この回答で使用されているアプローチが役立つ場合があります。カスタムオートローダーがここに行く方法のようです。–</p>
次の行を application.ini に追加します。
autoloadernamespaces[] = "App_"
これを調整して、ライブラリファイルを保持していた場合、私はlibrary/App
.
次のように、App/Loader/Autoloader/Project.php でオートローダーを作成します。
class App_Loader_Autoloader_Project implements Zend_Loader_Autoloader_Interface
{
public function autoload($class)
{
$project = explode('_', $class);
if ($project[0] != 'Project'){
return false;
}
$project[0] = '/www/core';
require_once implode('/', $project) . '.php'
return $class;
}
}
ブートストラップでオートローダーを初期化します:-
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoloading() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader(new App_Loader_Autoloader_Project());
}
}
明らかに、私はあなたの環境に一致する環境を持っていないので、これをテストすることはできません. ただし、私自身のオートローダーの使用から適応させたので、あまり調整しなくても動作するはずです。
David Weinraub によって投稿された回答のおかげで、私はもともとこの手法に出会い、それ以来非常に便利であることがわかりました。
そうは言っても、akondの答えは良いアドバイスであり、好ましい選択肢です。フレームワークに反対するのではなく、フレームワークと連携します。選択肢がない場合に備えて、この回答を提供します。