久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

模塊化設(shè)計(jì)

 醉人說夢 2021-09-27

一個(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è)概念:

名稱描述
應(yīng)用基于同一個(gè)入口文件訪問的項(xiàng)目我們稱之為一個(gè)應(yīng)用,。
模塊一個(gè)應(yīng)用下面可以包含多個(gè)模塊,,每個(gè)模塊在應(yīng)用目錄下面都是一個(gè)獨(dú)立的子目錄。
控制器每個(gè)模塊可以包含多個(gè)控制器,,一個(gè)控制器通常體現(xiàn)為一個(gè)控制器類,。
操作每個(gè)控制器類可以包含多個(gè)操作方法,也可能是綁定的某個(gè)操作類,,每個(gè)操作是URL訪問的最小單元,。

模塊化設(shè)計(jì)的思想下面模塊是最重要的部分,模塊其實(shí)是一個(gè)包含配置文件,、函數(shù)文件和MVC文件(目錄)的集合,。


Common模塊是一個(gè)特殊的模塊,是應(yīng)用的公共模塊,,訪問所有的模塊之前都會首先加載公共模塊下面的配置文件(Conf/config.php)和公共函數(shù)文件(Common/function.php),。但Common模塊本身不能通過URL直接訪問,公共模塊的其他文件則可以被其他模塊繼承或者調(diào)用,。

公共模塊的位置可以通過COMMON_PATH常量改變,,我們可以在入口文件中重新定義COMMON_PATH如下:

define('COMMON_PATH','./Common/');define('APP_PATH','./Application/');require './ThinkPHP/ThinkPHP.php';


禁止訪問模塊

3.2對模塊的訪問是自動(dòng)判斷的,所以通常情況下無需配置模塊列表即可訪問,,但可以配置禁止訪問的模塊列表(用于被其他模塊調(diào)用或者不開放訪問),,默認(rèn)配置中是禁止訪問Common模塊和Runtime模塊(Runtime目錄是默認(rèn)的運(yùn)行時(shí)目錄),我們可以增加其他的禁止訪問模塊列表:

// 設(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ì)后公共模塊依然有效


多入口設(shè)計(jì)

可以給相同的應(yīng)用及模塊設(shè)置多個(gè)入口,,不同的入口文件可以設(shè)置不同的應(yīng)用模式或者綁定模塊,。

例如,我們在index.php文件的同級目錄新增一個(gè)home.php入口文件,,并綁定Home模塊:

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















































===========================================

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多