2

この質問はZend Framework 2 関連です。

かなりの(再)読書とグーグルの後、私は短い結論に達しました:

  • ZF2 アプリケーションに関して、bootstrap() と run() の実際の違いは何ですか?

  • なぜ一方を他方に使用するのですか?

  • ZF2 Skeleton が run() を使用し、bootstrap() がどこにも言及されていないのはなぜですか?

  • では、run() を使用したときにすべてが機能する場合、いつ bootstrap() を使用するのでしょうか?

  • run() は暗黙的に boostrap() を呼び出しますか?

4

2 に答える 2

6

なぜこの深さまで詳細を知りたいのかわかりません。変更しても、違いは実際には影響しません。

ZF2 アプリケーションに関して、bootstrap() と run() の実際の違いは何ですか?

bootstrap()独立したクラス構造です。run()Application クラスの一部です。

なぜ一方を他方に使用するのですか?

Bootstrap は何よりも先に実行されます。また、さまざまなクラスの init 関数を初期化します (abstract ではありません)。その後、実行が実行されます。つまり、Bootstrap は銃を充填して装填し、Run は引き金を引くようなものです。

ZF2 Skeleton が run() を使用し、bootstrap() がどこにも言及されていないのはなぜですか?

Skeleton はベース スケルトン アプリケーションであり、フレームワークのブートストラップが既に呼び出された後に呼び出されます。

では、run() を使用したときにすべてが機能する場合、いつ bootstrap() を使用するのでしょうか?

いいえ、私が言ったように、Bootstrap は銃に装填するようなもので、Run は引き金を引くようなものです。ロードするものがない場合は、何も実行できません。Run は、暗黙的に呼び出されない場合、Bootstrap を呼び出します。

run() は暗黙的に boostrap() を呼び出しますか?

理想的には、そうすべきです。

于 2013-03-13T08:53:22.250 に答える
1

はい、Mvc を実行する前に、run() が bootstrap() を呼び出します。ただし、ZF2 にはイベント ドリブン アーキテクチャがあり、ブートストラップ ファイルでブートストラップを準備する必要がなくなったという違いがあります。これで、各モジュールはイベントのリスナーを提供できるようになりました。ブートストラップの場合、イベントは「ブートストラップ」またはメソッド onBootstrap() です。

この記事では、ZF1 と ZF2 の最も重要な違いについて紹介します。

于 2013-03-13T08:52:15.787 に答える