Zend Framework 2の工場クラスやクロージャーを使用する方が良いでしょうか?工場クラスとZend Framework 2のクロージャー
クロージャはシリアル化できないことは知っていますが、モジュール#getServiceConfig()から返すと、残りのコンフィグレーションデータのキャッシュには影響しませんし、クロージャはオペコードキャッシュにキャッシュされます。
ファクトリクラスの作成とクロージャの実行のパフォーマンスはどのように異なりますか? PHPは、実行時にのみクロージャをラップしてインスタンス化しますか、またはリクエストごとに設定ファイルで定義されたクロージャごとにこれを実行しますか?
誰も各メソッドの実行時間を比較しましたか?
参照:それはすべてのリクエストでこれを行うだろうので、PHPをコンパイル時に閉鎖クラスのインスタンスにコンフィギュレーションで無名関数を変換します
- Dependency management in Zend Framework 2 MVC applications
- Passing forms vs raw input to service layer
キャッシングに関すること:クロージャ付きのものは全て、あなたのModule-Classの 'getXyzConfig()'の中に入るべきです。 'module.config.php'の中でnon-closure-configのみです;) – Sam
すばらしい答えです、感謝します。 – darkangel
クロージャはすべてのリクエストで作成されますが、ファクトリクラスは、その背後にあるサービスが実際に必要な場合にのみインスタンス化されます。 – DASPRiD