Yii::app() 是一个实例化的对象,是我们在当前框架里边可以直接操作的对象,
我们可以把这个对象理解成请求应用的第一个对象。
Yii框架是纯OOP面向对象框架,也就是利用对象调用类的属性、方法,完成应用请求。
Yii::app()是在哪里诞生的?在index.php
可以通过函数get_class(对象),根据对象获得对应的类。
可以得出
Yii::app() 是CwebApplication类实例化的对象
CwebApplication(framework/web/CwebApplication.php)
因此Yii::app()可以调用CwebApplication 或父类 CApplication里边的相关属性或方法。
注意:不要随便访问CwebApplication 或 其父类的 相关方法,会影响系统稳定。
/* * 使用Yii::app()调用相关属性、方法 */ function actionAp(){ echo Yii::app()->defaultController,"<br />"; //默认控制器 echo Yii::app()->layout,"<br />"; //默认布局 echo Yii::app()->name,"<br />"; // echo Yii::app()->charset,"<br />"; //编码 echo Yii::app()->getLayoutPath(),"<br />"; //布局路径 echo Yii::app()->request->getUrl(),"<br />"; //请求url echo Yii::app()->request->getHostInfo(),"<br />"; //主机信息 }
index
main
雍达商城
UTF-8
D:\XAMPP\htdocs\shop\protected\views\layouts
/index.php?r=user/ap
http://web.0507shop.com
系统应用组件
我们可以通过Yii::app() 调用系统的组件
User session request log db等等
在系统的任何角落都可以直接访问以上组件
Yii ::app()->user (实例化对象'CWebUser' => '/web/auth/CWebUser.php',)
Yii ::app()->session (实例化'CHttpSession')
Yii ::app()->request
Yii ::app()->db
系统有哪些组件?
比如调用user组件,调用是哪个文件?
这样找:
找到yii核心文件yiilite.php
好吧,就此结束吧!