3

私自身の教育目的で、Yii がどのように初期化するかを少し解明しようとしていました。でも最初はすごく行き詰まりました。だからここに行く:

index.php で 2 つのファイルが変数に割り当てられている方法を理解しています。

$yii=dirname(__FILE__).'/../framework/yii.php';
$config=dirname(__FILE__).'/../protected/config/main.php';

変数を含めることで最初のファイルがどのように含まれるかを理解しています$yii:

require_once($yii);

(Yiibase.php にある) の拡張である空の class Yii{} (yii.php にある) で静的メソッドが呼び出され、そのメソッドに class Yiibase{} 変数 $config が渡されることを理解しています。

Yii::createWebApplication($config)->run();

私が理解していないのは次のとおりです。

  • それは何->run()をし、どこから来たのですか?
  • メソッド createWebApplication で、CWebApplicationそれまでファイルに含まれていなかったオブジェクト ( ) が作成される方法。の存在をどのように知るのclass CWebApplication{}でしょうか。
4

1 に答える 1

2

createWebApplication() #は#メソッドを持つnew CWebApplication($config) #を返すだけで、このクラスは autoloder を事前に登録することで簡単に自動インポートできます#run()

于 2012-08-30T10:12:18.623 に答える