控制器各个方法的使用


分配数据到模版

方法名:assign

用法:$this->assign(string 模版变量名, mixed 变量);

namespace app\web\controller;

use Timo\Core\Controller;

class Course extends Controller
{
    public function show($course_id = 0)
    {
        $course_id = (int) $course_id;
        if ($course_id <= 0) {
            return $this->error('参数错误');
        }
        
        $course = []; //从课程模型里面获取的数据
        $this->assign('title', $course['title']);
        $this->assign('course', $course);
        
        return $this->render();
    }
}

渲染模版并返回结果

方法名:render

用法:$this->render(string [模版名称], array [模版数据]);

如果模版名称和控制器、操作同名的话就不用传模版名称,如:
app
  |--controller
  |     |--Course.php
  |--template
  |     |--Course
  |     |     |--index.tpl.php
  |     |     |--show.tpl.php  

静态缓存

我们可以很方便的通过render方法来实现页面的静态化,只需将render方法返回的数据保存到文件即可

成功跳转

方法名:success

用法:$this->success(string 成功提示语, string 跳转的URL, array url参数, string 请求参数, 附带的数据, int 等待几秒跳转);

错误跳转

方法名:error

用法:$this->error(string 错误提示语, string 跳转的URL, array url参数, string 请求参数, 附带的数据, int 等待几秒跳转);

成功错误跳转的所有参数都是可选的

从定向

方法名:redirect

用法:$this->redirect($url, $params = array(), $query_string = '');