控制器命名和定义


控制器命名

控制器文件名和控制器类名相同,采用驼峰法,首字母大写,如:

  1. Course.php 课程控制器
  2. Ticket.php 门票
  3. User.php 用户

定义控制器

  1. 路径 app/web/controller/Course.php
  1. <?php
  2. namespace app\web\controller;
  3. class Course
  4. {
  5. public function index()
  6. {
  7. return 'TimoPHP Controller Simple Example.';
  8. }
  9. }

渲染模版

模版目录

  1. /app/web/template/default

模版文件路径

  1. app/web/template/default/Course/index.tpl.php
  2. default 是模版主题
  3. Course 控制器名称
  4. index 控制器方法名

方式一

  1. <?php
  2. namespace app\web\controller;
  3. use Timo\Core\View;
  4. class Course
  5. {
  6. public function index()
  7. {
  8. $view = View::instance();
  9. $view->assign('courses', []);
  10. return $view->render();
  11. }
  12. }

方式二

继承Timo\Core\Controller

  1. namespace app\web\controller;
  2. use Timo\Core\Controller;
  3. class Course extends Controller
  4. {
  5. public function index()
  6. {
  7. $this->assign('courses', []);
  8. return $this->render();
  9. }
  10. public function show()
  11. {
  12. $course = [
  13. 'id' => '1002',
  14. 'title' => '控制器的多种使用方式',
  15. 'content' => ''
  16. ];
  17. $data = [
  18. 'title' => $course['title'] . ' - TimoPHP课程',
  19. 'course' => $course
  20. ];
  21. return $this->render('', $data);
  22. }
  23. }