HisiPHP的控制器分為后臺控制器(admin),前臺控制器(home)。
## 后臺控制器(admin)
后臺控制器位于模塊目錄下面的admin目錄,所有后臺管理控制器必須放到此目錄下面,``所有后臺控制均需繼承 app\admin\controller\Admin 控制器``,模板賦值方法同ThinkPHP一樣。示例代碼如下:
>[info] 后臺控制器訪問路徑:/admin.php/模塊名/控制器名/方法名
~~~php
<?php
namespace app\test\admin;
use app\admin\controller\Admin;
// 后臺默認首頁控制器
class Index extends Admin
{
public function index()
{
// 分組切換類型:0單個分組[有鏈接],1分組切換[有鏈接],2分組切換[無鏈接],3無需分組切換,具體請看模塊下面的view/layout.php
$this->assign('tab_type', 1);// 默認值 0
// tab切換數據
$tab_data = [
'menu' =>[
['title' => '管理員角色', 'url' => 'admin/user/role'],
['title' => '系統管理員', 'url' => 'admin/user/index'],
] ,
'current' => 'admin/user/role'
];
$this->assign('tab_data', $tab_data);
// 列表頁默認數據輸出變量
$data_list = [];
$this->assign('data_list', $data_list);
// 分頁代碼
$this->assign('pages', $data_list->render());
return $this->fetch();
}
}
~~~
以上代碼運行后的效果如下:

>[info] 上圖紅框標記的效果,請留意以上示例代碼里面的“分組切換類型(tab_type)”和“tab切換數據(tab_data)”的賦值。
如果你的控制器不需要權限驗證,則可直接繼承``app\common\controller\Common 控制器``。
## 前臺控制器(home)
前臺控制器位于模塊目錄下面的home目錄,所有前臺控制器必須放到此目錄下面,``所有前臺控制均需繼承 app\common\controller\Common 控制器``,模板賦值方法同ThinkPHP一樣。示例代碼如下:
>[info] 前臺控制器訪問路徑:/模塊名/控制器名/方法名
>如果你將test設置為默認模塊,訪問路徑則變為:/控制/方法
~~~php
<?php
namespace app\test\home;
use app\common\controller\Common;
// 前臺默認首頁控制器
class Index extends Common
{
public function index()
{
$data = [];
$this->assign('data', $data);
return $this->fetch();
}
}
~~~
>[info] 模塊前臺模板文件路徑:/theme/模塊名/default/控制/方法.php