thinkphp3.2完全开发手册摘要

1.禁止访问模块

     3.2对模块的访问是自动判断的,所以通常情况下无需配置模块列表即可访问,但可以配置禁止访问的模块列表(用于被其他模块调用或者不开放访问),默认配置中是禁止访问Common模块和Runtime模块(Runtime目录是默认的运行时目录),我们可以增加其他的禁止访问模块列表:

  
  
  
  
  1. // 设置禁止访问的模块列表
  2. 'MODULE_DENY_LIST' => array('Common','Runtime','Api'),

设置后,Api模块不能通过URL直接访问,事实上,可能我们只是在该模块下面放置一些公共的接口文件,因此都是内部调用即可。

    2.设置访问列表

如果你的应用下面模块比较少,还可以设置允许访问列表和默认模块,这样可以简化默认模块的URL访问。

  
  
  
  
  1. 'MODULE_ALLOW_LIST' => array('Home','Admin','User'),
  2. 'DEFAULT_MODULE' => 'Home',

设置之后,除了Home、Admin和User模块之外的模块都不能被直接访问,并且Home模块是默认访问模块(可以不出现在URL地址)。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

3.多入口设计

可以给相同的应用及模块设置多个入口,不同的入口文件可以设置不同的应用模式或者绑定模块。

例如,我们在index.php文件的同级目录新增一个home.php入口文件,并绑定Home模块:


     3.2.1以上版本写法:

  
  
  
  
  1. // 绑定Home模块到当前入口文件
  2. define('BIND_MODULE','Home');
  3. define('APP_PATH','./Application/');
  4. require './ThinkPHP/ThinkPHP.php';

如果你更改了系统默认的变量设置,则需要做对应的模块绑定的变量调整。

绑定模块后,原来的访问地址

  
  
  
  
  1. http://serverName/index.php/Home/Index/index

就变成

  
  
  
  
  1. http://serverName/home.php/Index/index
同样的方式,我们也可以在入口文件中绑定控制器,例如:

3.2.1以上版本写法:

  
  
  
  
  1. define('BIND_MODULE', 'Home'); // 绑定Home模块到当前入口文件
  2. define('BIND_CONTROLLER','Index'); // 绑定Index控制器到当前入口文件
  3. define('APP_PATH','./Application/');
  4. require './ThinkPHP/ThinkPHP.php';

绑定模块和控制器后,原来的访问地址:

  
  
  
  
  1. http://serverName/index.php/Home/Index/index

就变成:

  
  
  
  
  1. http://serverName/home.php/index
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



你可能感兴趣的:(thinkphp3.2完全开发手册摘要)