注:请不要修改ThinkPHP惯例配置文件,如果要覆盖惯例配置的值,可在应用配置文件中设定和惯例不符的配置项
惯例配置文件路径:/ThinkPHP/Conf/convention.php
应用配置文件路径:/Application/Common/Conf/config.php
在应用配置文件config.php中修改一下内容即可实现控制器分级:
'APP_SUB_DOMAIN_DEPLOY' => true, // 是否开启子域名部署
'CONTROLLER_LEVEL' => 2 // 设置控制器分级
例:在/Home/Controller下创建文件夹Login,在其中建立LoginController.class.php控制器,
在浏览器中输入:http://localhost/thinkphp/home/login/login/index即可
浏览器中会显示:namespace Home\Controller\Login; use Think\Controller;class LoginController extends Controller { public function index(){ echo "hello world!"; }}
hello world!
但是,这样一来,在/Home/Controller下的控制器就无法正常工作。
例:/Home/Controller/IndexController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this->show('');
}
public function test(){
echo 'test';
}
}
在浏览器中输入:http://localhost/thinkphp/home/index/test之后,浏览器提示错误:
无法加载控制器:Index/test
总结:业务规模庞大的系统,控制器分级后,各个控制器按业务模块划分,方便管理和维护,但是如无必要,无需把控制器分级。