3

我试图解释一下 Yii 是如何为我自己的教育目的而初始化的。但我一开始就被卡住了。所以这里是:

我了解如何在 index.php 中将两个文件分配给一个变量:

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

我了解如何通过包含变量来包含第一个文件$yii

require_once($yii);

我知道对空的静态方法 class Yii{} (在 yii.php 中找到)进行了调用,这是(在 Yiibase.php 中找到)的扩展, class Yiibase{} 并且变量 $config 被传递给该方法:

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

我不明白的是:

  • 它是什么->run()以及它来自哪里?
  • 如何在 createWebApplication 方法CWebApplication中创建一个对象 (),直到那时我才看到文件中包含该对象 ()。它怎么知道class CWebApplication{}存在?
4

1 回答 1

2

createWebApplication() #只返回具有 # 方法的new CWebApplication($config) # run() 并且此类可以很容易地通过较早注册的自动装线机自动导入#

于 2012-08-30T10:12:18.623 回答