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