1.创建控制器与访问
class IndexController extends Controller{ //访问 index.php?r=index/index //r=后面 其中第一个是控制器,第二个是方法,r就是路由route的缩写 public function actionIndex() { $this->render("index");//载入模板文件 }}
2.配置默认控制器
默认访问:控制器SiteController下面的actionIndex方法
config/main.php 是主配置文件,在其中加入:
"defaultController" =>"index"
3.载入视图文件
在控制器中
$this->render();//载入布局文件$this->renderPartial();//不载入布局文件(也不能载入框架自带的jquery)
建立文件夹需要根据控制器名字来建立,里面的文件名也就是render或者renderPartial方法传递的名字
例如:
控制器是Index,你就需要建立一个index文件夹
$this->render("index");或者$this->renderPartial("index");需要在index文件夹里面建立index.php模板文件
(1)什么是布局
在views/layouts下面的文件是布局文件,公共区域,用render自动加载的文件
修改步骤:
(1)views/layouts下面,新建好布局文件。
(2)修改默认布局文件:
位置:components/Controller.php
public $layout = "//layouts/column1"
(2)布局内容
上边是公用头部
中间<?php echo $content;?>
尾部是公共尾部
4.如何引入外部样式
css与js等一些文件放入assets里面,按照前后台分开
Yii::app()->request->baseUrl
例如:
echo Yii::app()->request->baseUrl."/assets/index/css/index.css";
Yii::app()返回的是你在index.php里创建的CWebApplication实例。在一次请求处理过程中,这是一个唯一的实例。Yii::app()主要负责一些全局性的功能模块
5.分配给视图数据
分配数据给视图时,要以数组的形式分配
$name = "joshua"; $age = "23"; $data = array( "name" =>$name, "age" => $age, "info" =>array("height"=>"178","province"=>"henan") ); $this->renderPartial("index",$data);
echo $name."--".$age;print_r($data);
6.处理视图中的分配数据
在Yii框架中,数据以对象的形式存在
也就是说,从数据库中取出的数据都是以对象的形式存在
所以循环数据时是这样的
7.扩展自定义函数
在protected目录下见自己的扩展函数
例如:自定义一个打印数组的函数 functions.php
//格式化打印数组function P($arr){ //首先判断是否数组 if(is_array($arr)) { echo ""; print_r($arr); echo ""; }else { echo "参数不是数组!"; } }
并在入口处引入该文件
include dirname(__FILE__).'/protected/functions.php';