## 多应用模式 kplphp使用的是多应用模式,那么控制器的类的定义如下: 多应用模式下,控制器类定义仅仅是命名空间有所区别,例如: ~~~ <?php namespace addons\user\controller; class User { public function login() { return 'login'; } } ~~~ 控制器类文件的实际位置是 ~~~ addons\user\controller\User.php ~~~ ## 渲染输出 默认情况下,控制器的输出全部采用`return`的方式,无需进行任何的手动输出,系统会自动完成渲染内容的输出。 下面都是有效的输出方式: ~~~ <?php namespace app\index\controller; class Index { public function hello() { // 输出hello,world! return 'hello,world!'; } public function json() { // 输出JSON $data['code'=>1,'data'=>['id'=>1]]; return json($data); } public function read() { // 渲染默认模板输出 return view('../addons/user/view/user/read.html', []); } } ~~~ > 控制器一般不需要任何输出,直接`return`即可。并且控制器在`json`请求会自动转换为`json`格式输出。 > 不要在控制器中使用包括`die`、`exit`在内的中断代码。如果你需要调试并中止执行,可以使用系统提供的`halt`助手函数。 ~~~ halt('输出测试'); ~~~