アプリケーションで Zend Framework 1.11 を使用しています。マニュアルで提案されているパフォーマンスのアップグレードを実装して、不要な require_once() ステートメントを削除し、完全なオートロードを実行しようとしています。これは、通常のアプリケーションでは問題なく機能します。
また、(Bootstrap.php のカスタム ルーターを介して) デーモン用にコーディングした CLI インターフェイスもありますが、これは私の変更を適切に処理したくないようです。これは、現在 index.php ZF エントリ ポイントで構成されている、セットアップしたインクルード パスと関係があります。
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library/'),
get_include_path(),
)));
ライブラリ フォルダは次のように配置されます。
- library
-Zend
-Acl
-Amf
... etc, Zend Framework files
-Custom
-Api
-Twitter
... etc, My Custom library files
CLI 経由でアプリケーションを実行すると、それらのディレクトリまたはサブディレクトリ内にファイルが見つかりません。そこで、インクルード パスを次のように変更しました。
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library/'),
realpath(APPLICATION_PATH . '/../library/Custom/Twitter/'),
get_include_path(),
)));
そして、必要なファイルを見つけることができます。
TL;DR; これらのライブラリには多くのファイルがあり、各フォルダーをインクルード パスに手動で配置する必要がある場合、オートロードから得たパフォーマンスの向上は窓から消えます。より良い方法はありますか?
PS 気まぐれに/../library/*のようなパスも試しましたが、それもうまくいきません。