学习要点:
1.控制器定义
2.渲染输出
本节课我们来了解一下控制器定义的方式,包括 URL 访问和渲染输出。
一. 控制器 定义
- 控制器,即 controller,控制器文件存放在 controller 目录下;
- 如果想改变系统默认的控制器文件目录,可以在 config 下 route.php 配置:
'controller_layer' => 'controller123', - 类名和文件名大小写保持一致,并采用驼峰式(首字母大写);
namespace app\controller;
class Test {...} - 从上面两段代码得知 Test.php 的实际位置为:app\controller\Test.php
- 在 Test 类创建两个方法 index(默认)和 hello,访问 URL 如下:
http://localhost/tp6/public/test/
http://localhost/tp6/public/test/hello - 那么如果创建的是双字母组合,比如 class HelloWorld,访问 URL 如下:
http://localhost/tp6test3/public/helloworld
http://localhost/tp6test3/public/hello_world - 如果你想避免引入同类名时的冲突,可以 route.php 设置控制器后缀:
'controller_suffix' => true, - 此时,Test.php 就必须改成 TestController.php,并类名也需要增加后缀;
二. 渲染输出
- ThinkPHP 直接采用方法内 return 返回的方式直接就输出了;
- 使用 json 输出,直接采用 json 函数;
$data = array('a'=>1, 'b'=>2, 'c'=>3);
return json($data);
- 不推荐使用 die、exit 等 PHP 方法中断代码执行,推荐助手函数
halt();
halt('中断测试');