一個(gè)典型的URL訪問規(guī)則是(我們以默認(rèn)的PATHINFO模式為例說明,,當(dāng)然也可以支持普通的URL模式): http://serverName/index.php(或者其他應(yīng)用入口文件)/模塊/控制器/操作/[參數(shù)名/參數(shù)值...] ThinkPHP3.2的應(yīng)用可以支持切換到命令行訪問,如果切換到命令行模式下面的訪問規(guī)則是: >php.exe index.php(或其它應(yīng)用入口文件) 模塊/控制器/操作/[參數(shù)名/參數(shù)值...] 解釋下其中的幾個(gè)概念:
Common模塊是一個(gè)特殊的模塊,是應(yīng)用的公共模塊,,訪問所有的模塊之前都會首先加載公共模塊下面的配置文件( 公共模塊的位置可以通過COMMON_PATH常量改變,,我們可以在入口文件中重新定義COMMON_PATH如下: define('COMMON_PATH','./Common/');define('APP_PATH','./Application/');require './ThinkPHP/ThinkPHP.php'; 禁止訪問模塊3.2對模塊的訪問是自動(dòng)判斷的,所以通常情況下無需配置模塊列表即可訪問,,但可以配置禁止訪問的模塊列表(用于被其他模塊調(diào)用或者不開放訪問),,默認(rèn)配置中是禁止訪問 // 設(shè)置禁止訪問的模塊列表'MODULE_DENY_LIST' => array('Common','Runtime','Api'), 設(shè)置后,,Api模塊不能通過URL直接訪問,,事實(shí)上,可能我們只是在該模塊下面放置一些公共的接口文件,,因此都是內(nèi)部調(diào)用即可,。 設(shè)置訪問列表如果你的應(yīng)用下面模塊比較少,,還可以設(shè)置允許訪問列表和默認(rèn)模塊,這樣可以簡化默認(rèn)模塊的URL訪問,。 'MODULE_ALLOW_LIST' => array('Home','Admin','User'),'DEFAULT_MODULE' => 'Home', 設(shè)置之后,,除了Home、Admin和User模塊之外的模塊都不能被直接訪問,,并且Home模塊是默認(rèn)訪問模塊(可以不出現(xiàn)在URL地址),。 單模塊設(shè)計(jì)如果你的應(yīng)用夠簡單,那么也許僅僅用一個(gè)模塊就可以完成,,那么可以直接設(shè)置: // 關(guān)閉多模塊訪問'MULTI_MODULE' => false,'DEFAULT_MODULE' => 'Home', 一旦關(guān)閉多模塊訪問后,,就只能訪問默認(rèn)模塊(這里設(shè)置的是Home)。
多入口設(shè)計(jì)可以給相同的應(yīng)用及模塊設(shè)置多個(gè)入口,,不同的入口文件可以設(shè)置不同的應(yīng)用模式或者綁定模塊,。 例如,我們在 3.2.0版本寫法: $_GET['m'] = 'Home'; // 綁定Home模塊到當(dāng)前入口文件$_GET['c'] = 'Index'; // 綁定Index控制器到當(dāng)前入口文件define('APP_PATH','./Application/');require './ThinkPHP/ThinkPHP.php'; 3.2.1以上版本寫法: define('BIND_MODULE', 'Home'); // 綁定Home模塊到當(dāng)前入口文件define('BIND_CONTROLLER','Index'); // 綁定Index控制器到當(dāng)前入口文件define('APP_PATH','./Application/');require './ThinkPHP/ThinkPHP.php'; 綁定模塊和控制器后,,原來的訪問地址: http://serverName/index.php/Home/Index/index 就變成: http://serverName/home.php/index =========================================== |
|