Yii入门指导(二):Yii内功修炼

项目名称从“FantaCMS”修改为为“testyii”—————— 俗!
php

1,项目目录结构分析
数组

2,Yii入口文件分析app

在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Yii对象而且能够经过以下方法来调用该对象:Yii::app()yii

Yii系统把配置文件中的数组值,经过键值对的形式绑定到了该对象上,例如在配置文件中咱们配置了:this

'name'=>'My Web Application',spa

那么咱们在项目的任何一个地方经过该对象的属性就能够获取到“name”的值,方法为:component

Yii::app()->name;对象

3,Yii路由设置
继承

同时应该知道:对于控制器名,Yii首先会检测当前的控制器名是不是一个“模块名”,若是是模块名则先定位到模块。路由

“模块”会在后面搭建项目的时候解释。

经过上面的路由访问到的就是:SiteController.php类文件下的SiteController类中的actionIndex方法

控制器文件位于:protected/controllers 目录下,也就是咱们的控制器文件存放目录

注意Yii中控制器文件和动做方法名的书写方式,控制器有统一的后缀”Controller“,动做方法也有统一的前缀”action“,同时要求动做方法名的命名规范符合”除第一个单词外其它每一个单词的首字母要大写“

因为Yii默认的控制器名为:site

默认的动做名为:index

所以上述经过指定控制器名动做名访问的路径和直接访问:http://localhost/testyii/   的效果是一致的

4,视图调用

在动做方法中,调用:$this->render('index');

来为对应的动做方法指定视图文件,视图文件位于:protected/views/site  目录下

其中:site为对应的控制器名文件夹,每一个控制器名在视图中都应该具备一个惟一的文件夹名与其相对应

而后在动做方法中经过‘index’来指定显示的具体视图文件是site控制器下的指定的‘index.php’视图文件

另外还须要注意:

调用视图的方法有两个:

$this->render                            ----> 会调用模板文件

$this->renderPartial                   -----> 不会调用模板文件

它们之间的区别,也如上所述。

5,视图模板设置

打开SiteController.php文件,其中的代码截图以下:

咱们发现:Yii应用中,每一个控制器都要继承自公共控制器“Controller”

而后打开“Controller”控制器文件:Controller.php,它位于:protected/components  目录下

Controller”控制器代码截图以下:

Yii经过:public $layout='//layouts/column1'; 来指定动做方法的公共模板文件

公共模板文件位于:protected/views/layouts 目录下,以下图:

如今咱们来建立咱们的模板文件:testlayout.php,代码以下:

其中”<?php echo $content; ?>“为Yii中规定的模板文件中的内容替换方法

而后,修改 ”Controller“控制器中的模板文件为:public $layout='//layouts/testlayout';

而后访问:http://localhost/testyii/index.php?r=site/index    结果如图:

而后咱们发现,模板文件已经变成咱们本身指定的了,而后假如你不须要视图文件渲染模板文件,那么你能够在动做方法中调用视图文件的时候使用:$this->renderPartial  方法

或者你整个项目都不须要调用模板文件,那么你能够在动做方法中调用视图文件时所有用:$this->renderPartial 

也或者将视图模板文件设置为”空“,例如:public $layout='';


下一节继续:Yii的魔术师:gii,Yii模块及模块自定义

相关文章
相关标签/搜索