Yii::app()介绍

Yii框架是纯OOP面向对象的框架

这个框架在运行的时候,也就是一个应用被访问的时候,需要创建许多对象,这些对象
再调用许多相关方法,从而完成一次web请求


这个Yii::app() 是第一个被创建的对象,由这个对象调用相关方法,完后后续工作


Yii::app()是类CWebApplication的实例,因此这个类(包括继承类)能被使用的属性和方法,这个对象都可以使用。
有些方法是系统运行的核心方法,不建议直接调用

例如CWebApplication里边有一个方法getLayoutPath()  获得布局路径,则我们可以这样:
echo Yii::app()->getLayoutPath();    // 输出 D:\www\0507\shop\protected\views\layouts


另外,CWebApplication 和 其父类 CApplication 为系统定义了好多可以使用的组件
db、user、session、authManager、request等等还有其他的不一一列举
我们可以通过Yii::app()使用以上组件
例如:
echo Yii::app()->request->url;  //可以获得当前请求的相对url地址( /index.php?r=user/login )
说明:
    Yii::app()->request;  会创建request类对象  //request对应哪个类到CApplication或CWebApplication的方法registerCoreComponents()去找
    Yii::app()->request->url;  会调用类request里边的属性信息,这个属性没有,或调用父类的魔术方法__get间接调用geturl()方法

Yii::app()->user;  会调用用户验证组件(CWebUser),CWebUser的一些属性和方法就可以被使用

Yii::app()返回的是你在index.php里创建的CWebApplication实例。在一次请求处理过程中,这是个唯一的实例。 Yii::app()主要负责一些全局性的功能模块,比如Yii::app()->getUser()返回的是CWebUser实例(用于表达当前 用户的验证信息)。因为CWebApplication继承CComponent,所以Yii::app()->getUser()也可以写作 Yii::app()->user (参见关于CComponent的说明,这是Yii的基石)。其它的如returnUrl, homeUrl之类的也都是这种通过getter函数定义的部件属性。另外,你在index.php使用的配置文件,其实质就是对Yii::app()进 行属性的初始化。配置文件里提供的就是属性名和属性值的一个列表。任何CWebApplication的公共成员或通过setter定义的属性都可以配 置。注意有的属性配置可能比较复杂,例如’components’属性。这时可以参见对应的API信息寻求帮助(例如’components’对应的 API就是setComponents())



你可能感兴趣的:(Yii::app()介绍)