本文对HsYii的控制器和模型进行注释解释,并且最后阐述了使用menu和role表的mvc的基本运行原理。
控制器
<?php
class FoodEvaluationController extends BaseController {
//声明一个控制器类,extends 表示继承, BaseController是它的父类
protected $model = ''; //成员变量,用于存放当前当前控制器对应的模型名字,该变量在init()方法中初始化
public function init() {
$this->model = substr(__CLASS__, 0, -10);//__CLASS__是魔术变量,可以返回当前类名,类似的有__FUNCTION__ 、__LINE__
parent::init();//调用父类的方法
//dump(Yii::app()->request->isPostRequest);
}
public function actionDelete($id) {
//对应删除按钮的动作函数
parent::_clear($id);//调用父类方法
}
public function actionCreate() {
//对应添加按钮的动作函数
$modelName = $this->model;//this是当前控制器类,它的model成员变量,即line6的变量,值为模型名
$model = new $modelName('create');//new 实例化, 其中()里的'create'可以省略
$data = array();//array() 新建一个空数组
if (!Yii::app()->request->isPostRequest) {
//该语句判断是否有一个Post请求,即是否提交数据
//若没有提交请求,则应该渲染update视图
$data['model'] = $model;