## 多應用模式
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('輸出測試');
~~~