4、TP5架構(gòu)總覽

我們來看看TP5的架構(gòu)。

ThinkPHP 5.0基于MVC(模式、視圖、控制器)方式來組織。

TP5的訪問url的PATH_INFO方式:


URL訪問默認(rèn)采用PATH_INFO方式

常用術(shù)語:
一、入口文件(index.php):
1、入口文件是整個(gè)Web應(yīng)用的起點(diǎn);
2、入口文件最常見的就是:index.php;
3、入口文件并不唯一,例如可為后臺單獨(dú)設(shè)置入口:admin.php;
4、入口文件可以通過url重寫功能將其隱藏;

二、應(yīng)用(application):
1、應(yīng)用是URL請求到完成的(生命周期)處理對象,由thinkphp\library\think\App類處理;
2、應(yīng)用必須在入口文件(如index.php)中調(diào)用并執(zhí)行;
3、可以為不同的應(yīng)用創(chuàng)建多個(gè)入口文件,如后臺入口:admin.php
4、應(yīng)用有自己獨(dú)立的配置文件(config.php)和公共函數(shù)文件(common.php);

三、模塊(module)
1、一個(gè)應(yīng)用下有多個(gè)模塊,對應(yīng)著應(yīng)用的不同部分,如前臺、后臺;
2、每個(gè)模塊都可以有完整的MVC類庫,創(chuàng)建和管理這些類庫是我們最主要的工作;
3、每個(gè)模塊都可以有獨(dú)立的配置文件(config.php)和公共函數(shù)文件(common.php);
4、如果應(yīng)用簡單,可使用單模塊模式,只要設(shè)置thinkphp/convention.php中的:'app_multi_module=>false'即可,此時(shí)應(yīng)用。

四、控制器(controller)
1、每個(gè)模塊下可以有多個(gè)控制器負(fù)責(zé)響應(yīng)URL請求;
2、每個(gè)控制器對應(yīng)一個(gè)控制器類(class),如User.php
3、控制器管理著模型與視圖,是系統(tǒng)資源的調(diào)度與分配中心;
4、TP5的控制器不需要繼承任何基類就可以工作(舊版本中需要繼承controller類才能工作)。

五、操作(action)
1、操作對應(yīng)著控制器類中的方法,是URL請求的最小單元;
2、任何的URL請求最終都是由控制器中的方法來完成的;
3、操作是整個(gè)應(yīng)用的最終執(zhí)行單元,是URL路由的核心與目標(biāo)。

六、模型(model)
1、模型通常對應(yīng)整個(gè)應(yīng)用,因此模型通常在應(yīng)用(application)目錄下創(chuàng)建;
2、盡管模型主要是針對數(shù)據(jù)庫的CURD操作,但也可以不操作數(shù)據(jù)庫;
3、模型通常是完成實(shí)際的業(yè)務(wù)邏輯和數(shù)據(jù)封裝,并返回和格式無關(guān)的數(shù)據(jù);
4、模型返回的數(shù)據(jù),通常是數(shù)組(array)或者是字符串(string);
5、模型支持分層設(shè)計(jì),例如將模型層分成邏輯層/服務(wù)層/事件層。

七、視圖(view)
1、控制器通過調(diào)用模型返回的數(shù)據(jù),是通過視圖轉(zhuǎn)換成不同格式輸出的;
2、視圖根據(jù)請求,調(diào)用模板引擎確定是直接輸出還是模板解析后再輸出;
3、視圖是由大量的模板文件組成的,這些文件對應(yīng)著不同控制器中的操作方法;
4、模板目錄可以動態(tài)設(shè)置;
5、視圖最直觀的理解,就是由一系列的HTML文件組成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 理工寢室商店-微信小程序 疑問小結(jié) 當(dāng)時(shí)在XAMMP下mysql目錄下的bin下 php -v 不起作用.到ph...
    這個(gè)超人不會飛阿閱讀 1,823評論 1 1
  • # 一、框架概述 # 課程概述 1. laravel 4天(之前TP框架還是很大的區(qū)別)(國外框架) 2. 在線教...
    關(guān)進(jìn)一閱讀 491評論 0 0
  • 一、框架概述 1、什么是框架? 框架是許多代碼的集合,為項(xiàng)目開發(fā)提供了很多基礎(chǔ)性的代碼。例如常見的參數(shù)過濾,DB類...
    神經(jīng)波閱讀 5,245評論 0 3
  • 年少時(shí) 我向往那 雨后的彩虹 而我卻成了 一片云 為風(fēng)驅(qū)駛 我總想走入你的眼 卻錯過了季節(jié) 我變成大海 的一滴水 ...
    精誠家電維修閱讀 177評論 1 2

友情鏈接更多精彩內(nèi)容