标签:设置 extend control blog 控制器 test end event logo
多级控制器是指控制器可以通过子目录把某个控制器层分组存放,首先需要设置控制器的分级层次,例如,我们设置2级目录的控制器层:
‘CONTROLLER_LEVEL‘ => 2,控制器文件的位置放置如下:
├─Controller 访问控制器│ ├─User User分级(组)│ │ ├─UserTypeController.class.php │ │ ├─UserAuthController.class.php │ ...│ ├─Admin Admin分级(组)│ │ ├─UserController.class.php │ │ ├─ConfigController.class.php │ ...多级控制器中的命名空间需要这样定义:
<?phpnamespace Home\Controller\Admin;use Think\Controller;class IndexController extends Controller { public function hello(){ echo ‘hello‘; } public function test(){ echo ‘test‘; }}然后就可以通过URL地址访问:
http://serverName/Home/User/UserTypehttp://serverName/Home/Admin/UserThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如:
├─Controller 访问控制器│ ├─UserController.class.php │ ├─BlogController.class.php│ ...├─Event 事件控制器│ ├─UserEvent.class.php │ ├─BlogEvent.class.php│ ...访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller。
访问控制器负责外部交互响应,通过URL请求响应,例如 http://serverName/Home/User/index,而事件控制器负责内部的事件响应,并且只能在内部调用,所以是和外部隔离的。
多层控制器的划分可以根据项目的需要自由分层。
如果是定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。例如:
<?phpnamespace Home\Event;class UserEvent { public function login(){ echo ‘login event‘; } public function logout(){ echo ‘logout event‘; }}UserEvent事件控制器位于 Home/Event/UserEvent.class.php 。
标签:设置 extend control blog 控制器 test end event logo
原文地址:http://www.cnblogs.com/liuzhaobo1999/p/7440030.html