3.2对模块的访问是自动判断的,所以通常情况下无需配置模块列表即可访问,但可以配置禁止访问的模块列表(用于被其他模块调用或者不开放访问),默认配置中是禁止访问Common
模块和Runtime
模块(Runtime目录是默认的运行时目录),我们可以增加其他的禁止访问模块列表:
// 设置禁止访问的模块列表
'MODULE_DENY_LIST' => array('Common','Runtime','Api'),
设置后,Api模块不能通过URL直接访问,事实上,可能我们只是在该模块下面放置一些公共的接口文件,因此都是内部调用即可。
2.设置访问列表如果你的应用下面模块比较少,还可以设置允许访问列表和默认模块,这样可以简化默认模块的URL访问。
'MODULE_ALLOW_LIST' => array('Home','Admin','User'),
'DEFAULT_MODULE' => 'Home',
设置之后,除了Home、Admin和User模块之外的模块都不能被直接访问,并且Home模块是默认访问模块(可以不出现在URL地址)。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
可以给相同的应用及模块设置多个入口,不同的入口文件可以设置不同的应用模式或者绑定模块。
例如,我们在index.php
文件的同级目录新增一个home.php
入口文件,并绑定Home模块:
3.2.1以上版本写法:
// 绑定Home模块到当前入口文件
define('BIND_MODULE','Home');
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';
如果你更改了系统默认的变量设置,则需要做对应的模块绑定的变量调整。
绑定模块后,原来的访问地址
http://serverName/index.php/Home/Index/index
就变成
同样的方式,我们也可以在入口文件中绑定控制器,例如:
http://serverName/home.php/Index/index
3.2.1以上版本写法:
define('BIND_MODULE', 'Home'); // 绑定Home模块到当前入口文件
define('BIND_CONTROLLER','Index'); // 绑定Index控制器到当前入口文件
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';
绑定模块和控制器后,原来的访问地址:
http://serverName/index.php/Home/Index/index
就变成:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
http://serverName/home.php/index