本文實例講述了TP(thinkPHP)框架多層控制器和多級控制器的使用。分享給大家供大家參考,具體如下:
多層控制器的目錄結構是這樣的:
├─Controller 訪問控制器
│ ├─UserController.class.php
│ ├─BlogController.class.php
│ ...
├─Event 事件控制器
│ ├─UserEvent.class.php
│ ├─BlogEvent.class.php
│ ...
給App應用添加多層控制器,不需添加任何參數,只需按照如上的方式直接建文件即可。
多層控制器實例化:
/* * 多層控制器實例化 即和訪問控制器Controller同級目錄的Service時 可用D方法或A方法 * 注:訪問控制器的名稱是通過DEFAULT_C_LAYER設置的,默認是Controller,訪問控制器負責外部交互響應, 其它的控制器層和外部隔離,只能內部調用。定義其他的控制器層,則不一定必須要繼承系統的Controller類或其子類,通常需要輸出模版的時候才需要繼承Controller類。 */D('Admin', 'Service');//或者A('User','Event');A('Admin/Blog','Event'); //假設當前模塊是Home模塊// 實例化Home模塊的User事件控制器$User = new /Home/Event/UserEvent();// 實例化Admin模塊的Blog事件控制器$Blog = new /Admin/Event/BlogEvent();
而多級控制器的目錄結構是這樣的:
├─Controller 訪問控制器
│ ├─User User分級(組)
│ │ ├─UserTypeController.class.php
│ │ ├─UserAuthController.class.php
│ ...
│ ├─Admin Admin分級(組)
│ │ ├─UserController.class.php
│ │ ├─ConfigController.class.php
│ ...
其訪問格式:
http://serverName/Home/User/UserType
http://serverName/Home/Admin/User
設置為多級控制器是需要設置配置參數的,即設置控制器的分級層次,例如設置2級目錄的控制器層,如下:
'CONTROLLER_LEVEL' => 2,
其命令空間是這樣的;
<?phpnamespace Home/Controller/Admin;use Think/Controller;class IndexController extends Controller { public function hello(){ echo 'hello'; } public function test(){ echo 'test'; }}
多級控制器的實例化:
可以直接實例化
// 實例化Home模塊的User控制器$User = new /Home/Controller/User/UserTypeController();// 實例化Admin模塊的Blog控制器$Blog = new /Admin/Controller/Admin/UserController();
新聞熱點
疑難解答
圖片精選