控制器各个方法的使用


分配数据到模版

方法名:assign

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

  1. php
  2. namespace app\web\controller;
  3. use Timo\Core\Controller;
  4. class Course extends Controller
  5. {
  6. public function show($course_id = 0)
  7. {
  8. $course_id = (int) $course_id;
  9. if ($course_id <= 0) {
  10. return $this->error('参数错误');
  11. }
  12. $course = []; //从课程模型里面获取的数据
  13. $this->assign('title', $course['title']);
  14. $this->assign('course', $course);
  15. return $this->render();
  16. }
  17. }

渲染模版并返回结果

方法名:render

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

  1. 如果模版名称和控制器、操作同名的话就不用传模版名称,如:
  2. app
  3. |--controller
  4. | |--Course.php
  5. |--template
  6. | |--Course
  7. | | |--index.tpl.php
  8. | | |--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 = '');