ThinkPHP控制器分级

注:请不要修改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

总结:业务规模庞大的系统,控制器分级后,各个控制器按业务模块划分,方便管理和维护,但是如无必要,无需把控制器分级。

posted @ 2017-07-12 19:44  Vitascope  阅读(257)  评论(0编辑  收藏  举报