0

Zend Framework Tool (ZFTool)を使用すると、(名前空間の代わりに) classmap ベースのクラス ローディング (s. here ) を使用して、アプリケーションを高速化できます。

$ cd /path/to/my_project
$ cd module/MyModule/
$ zf classmap generate . ./autoload_classmap.php --overwrite

可能ですか / ライブラリ モジュール (Zend ライブラリとカスタム ライブラリ) で同じことを行うには?

4

2 に答える 2

1

autoload ファイルが単に大きくなりすぎるため、これを行うことは実際には有利ではありません。ただし、Evan Coury が提供するEdpSuperluminalというモジュールを使用することをお勧めします。

このモジュールが行うことは、特定のリクエスト内で呼び出されるすべてのクラスを「記録」し、それらをクラスマップ ファイルに書き込みます。

このモジュールの唯一の欠点は、特別な Query-Parameter を添付して、アプリケーションのすべての可能なリクエストを作成する必要があることです。それは少し面倒ですが、それだけの価値があります。このようにすると、クラスマップのサイズを、実際に使用する Zend ライブラリや他のベンダー ライブラリのものだけに縮小できます。このようにして、クラスマップが大きくなりすぎないようにします。

それ以外はautoload_classmap.php/vendorディレクトリで標準を使用すると実際に機能するはずです。

最後に、Composer を介してライブラリ (Zend、Doctrine、その他...) を含める可能性が高いため、Composer 自体がある種のクラスマップを作成しますが、Vendor-Namespace にのみ固有です。IE "Zend"、"Doctrine"、"Mongo" など。Composer は、上記の理由により、トップレベルの名前空間に対してのみこれを行います。

于 2013-10-14T18:25:56.097 に答える