私は、次のベンダーのディレクトリ構造を持つPHPプロジェクトがあります:私はautoload_namespaces.phpのeverythinsに以下の行を入れZend Frameworkの作曲の自動ロード
vendor
zendframework
zendframework
library
Zend
...
...
Cache
...
...
はokです:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/',
をしかし、この行はdoesnの「トンの仕事:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/Zend/Cache/',
エラーは、次のとおりです。
Fatal error: Class 'Zend\Cache\Storage\Adapter\MemcachedOptions' not found
私のコードで何が問題になっていますか? zendフレームワークからキャッシュモジュールだけをロードするにはどうしたらいいですか?ライブラリフォルダ全体を指定すると、なぜ動作しますか?
何をしようとするの?要求に応じてクラスがロードされるため、アプリケーションは使用されるクラスのみをロードします。 'autoload_namespaces.php'ファイルはComposerによって自動生成されますので、編集しないでください。 –
MemcachedOptions()クラスを使用しようとしました: '$ options = new \ Zend \ Cache \ Storage \ Adapter \ MemcachedOptions();'この行はエラーを発生させます。 – Phantom
Composerを使ってZend Frameworkをインストールしたと仮定すると、 'autoload_namespaces.php'に' Zend \\ 'エントリがあるはずです。それはあなたが必要なすべてです。他のものを変えないでください。存在しない場合は、Composerを使用してZFを再インストールします。 –