深入理解YII ::app()

来源:互联网 发布:淘宝天猫多久不能追评 编辑:程序博客网 时间:2024/05/21 19:32

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


好吧,就此结束吧!



0 0
原创粉丝点击