一般来说,ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法。
控制器通常需要继承系统的Controller类或者其子类,
控制器的名称采用驼峰法命名(首字母大写),
操作方法的定义必须是公共方法,否则会报操作错误,
因为操作方法就是控制器的一个方法,所以遇到有和系统的关键字冲突的方法可能就不能定义了,这个时候我们可以设置操作方法的后缀来解决,例如:
'ACTION_SUFFIX' => 'Action', // 操作方法后缀
设置操作方法的后缀为Action,这样,控制器的操作方法定义调整为:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function listAction(){ echo 'list'; } public function helloAction(){ echo 'hello'; } public function testAction(){ echo 'test'; } }
操作方法的后缀设置只是影响控制器类的定义,对URL访问没有影响。
ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层)
多级控制器是指控制器可以通过子目录把某个控制器层分组存放,首先需要设置控制器的分级层次,例如,我们设置2级目录的控制器层:
'CONTROLLER_LEVEL' => 2,
访问控制器的实例化通常是自动完成的,系统会根据URL地址解析出访问的控制器名称自动实例化,并且调用相关的操作方法。
===============================
联系客服