Yii2 framework backup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

4.1 KiB

ブートストラップ

ブートストラップとは、アプリケーションが入ってくるリクエストの解決と処理を開始する前の、環境を準備する過程を指すものです。 ブートストラップは二つの場所、すなわち、エントリスクリプトアプリケーションで行われます。

エントリスクリプト では、さまざまなライブラリのためのクラスオートローダが登録されます。 この中には、Composer の autoload.php によるオートローダと、Yii の Yii クラスファイルによるオートローダが含まれます。 エントリスクリプトは、次に、アプリケーションの 構成情報 をロードして、アプリケーション のインスタンスを作成します。

アプリケーションのコンストラクタでは、次のようなブートストラップの仕事が行われます。

  1. yii\base\Application::preInit() が呼ばれます。 このメソッドは、いくつかの優先度の高いアプリケーションプロパティ、例えば yii\base\Application::basePath などを構成します。
  2. yii\base\Application::errorHandler を登録します。
  3. 与えられたアプリケーションの構成情報を使って、アプリケーションのプロパティを初期化します。
  4. yii\base\Application::init() が呼ばれます。 そして init()yii\base\Application::bootstrap() を呼んで、ブートストラップコンポーネントを走らせます。

ブートストラップの仕事は 全て のリクエストを処理する前に、毎回しなければなりませんので、この過程を軽いものに保って可能な限り最適化することは非常に重要なことです。

あまりに多くのブートストラップコンポーネントを登録しないように努めてください。 ブートストラップコンポーネントが必要になるのは、リクエスト処理のライフサイクル全体に関与する必要がある場合だけです。 例えば、モジュールが追加の URL 解析規則を登録する必要がある場合は、モジュールを bootstrap プロパティ のリストに挙げなければなりません。 なぜなら、URL 規則を使ってリクエストが解決される前に、新しい URL 規則を有効にしなければならないからです。

実運用モードにおいては、PHP OPCacheAPC など、バイトコードキャッシュを有効にして、PHP ファイルをインクルードして解析するのに要する時間を最小化してください。

大規模なアプリケーションには、多数の小さな構成情報ファイルに分割された、非常に複雑なアプリケーション 構成情報 を持つものがあります。 そのような場合には、構成情報配列全体をキャッシュしておき、エントリスクリプトでアプリケーションのインスタンスを作成する前には、構成情報配列をキャッシュからロードするという方法を考慮してください。