1

ZF2 プロジェクト用の Zend Studio 10 セットアップでは、PHP インクルード パスの一部として Zend Framework 2 が含まれています。vendor/zendframework/zendframework/library/Zend/ただし、その後、インクルード パスにライブラリの複製を含むプロジェクトもセットアップされます。

オートコンプリートが表示されるたびに、すべてが 2 つ表示されます。実際、フォルダから Zend ライブラリを削除しても、すべてが機能し続けます。

これは、プロジェクト ウィザードで新しいプロジェクトを作成するときの既定の設定であることに注意してください。

vendor/zendframework/zendframework/library/Zend/フォルダを保持する理由はありますか?

更新: PHP ユニット構成は、インクルード パス エントリではなく、ライブラリ フォルダーを直接検索するようです。

からTestConfiguration.php.dist

define('ZF2_PATH', realpath(__DIR__ . '/../../../vendor/zendframework/zendframework/library/'));

4

1 に答える 1

1

自動ロードがComposerを介して行われる場合は、Composerがプロジェクトごとにすべての依存関係のコピーを実際に1つダウンロードすることを考慮してください。

これは何度も議論されてきましたが、基本的には、すべてのプロジェクトが特定のバージョン(依存関係名+バージョン=パッケージ)を持つ特定の依存関係のセットに「ロック」されているためです。

zf2プロジェクトでは、共有ライブラリはもう存在しないはずです。

オートロードがcomposerを介して行われる場合は、そのディレクトリをに保持する必要があります。vendor/そうでない場合は、でオートローダーを手動でカスタマイズする必要がありますinit_autoloader.php

代わりに、ZendStudioから共有ライブラリを削除することを検討してください。

また、デフォルトでは、ZF2はの依存関係を検索しませんinclude_path。これは、統計呼び出しで多くのパフォーマンスが失われるためです。

于 2013-02-27T15:16:45.310 に答える