小編給大家分享一下ThinkPHP屬于軟件框架嗎,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們擁有10余年網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、html5、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。ThinkPHP是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)和敏捷WEB應(yīng)用開(kāi)發(fā)而誕生的。最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開(kāi)源協(xié)議發(fā)布。ThinkPHP從誕生以來(lái)一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),也注重易用性。并且擁有眾多原創(chuàng)功能和特性,在社區(qū)團(tuán)隊(duì)的積極參與下,在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn)。
ThinkPHP是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級(jí)國(guó)產(chǎn)PHP開(kāi)發(fā)框架,誕生于2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開(kāi)源協(xié)議發(fā)布,從Struts結(jié)構(gòu)移植過(guò)來(lái)并做了改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服務(wù)器環(huán)境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多種數(shù)據(jù)庫(kù)以及PDO擴(kuò)展,ThinkPHP框架本身沒(méi)有什么特別模塊要求,具體的應(yīng)用系統(tǒng)運(yùn)行環(huán)境要求視開(kāi)發(fā)所涉及的模塊。
作為一個(gè)整體開(kāi)發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開(kāi)發(fā)中的大多數(shù)需要,因?yàn)槠渥陨戆说讓蛹軜?gòu)、兼容處理、基類庫(kù)、數(shù)據(jù)庫(kù)訪問(wèn)層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理等常用的組件,并且對(duì)于跨版本、跨平臺(tái)和跨數(shù)據(jù)庫(kù)移植都比較方便。并且每個(gè)組件都是精心設(shè)計(jì)和完善的,應(yīng)用開(kāi)發(fā)過(guò)程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。
重要的概念
要掌握ThinkPHP,首先要了解其中的幾個(gè)重要概念,對(duì)于熟悉Java開(kāi)發(fā)的朋友,應(yīng)該很容易理解下面的一些概念。
Action對(duì)象
和Struts框架的Action類似,Action對(duì)象主要提供應(yīng)用邏輯的控制和處理,屬于ThinkPHP的控制層,由核心的App類完成模塊和操作的解析后直接轉(zhuǎn)交給相應(yīng)的Action對(duì)象處理。應(yīng)用類中的所有Action對(duì)象都繼承系統(tǒng)的Action基類。
Dao對(duì)象
是指DataAccessObject(數(shù)據(jù)訪問(wèn)對(duì)象),Dao設(shè)計(jì)模式把底層的數(shù)據(jù)訪問(wèn)邏輯和業(yè)務(wù)邏輯分開(kāi),夾在業(yè)務(wù)層與數(shù)據(jù)層中間,用于數(shù)據(jù)庫(kù)訪問(wèn)和操作??梢葬槍?duì)單表和多表操作。ThinkPHP中的Dao對(duì)象屬于建立在抽象數(shù)據(jù)庫(kù)訪問(wèn)層之上的事務(wù)性對(duì)象。
VO對(duì)象
是指ValueObject(數(shù)據(jù)對(duì)象),更加精確的說(shuō)是業(yè)務(wù)對(duì)象,因?yàn)閂O對(duì)象是存活在業(yè)務(wù)層的,供業(yè)務(wù)邏輯使用的。VO對(duì)象和數(shù)據(jù)表存在一種映射關(guān)系,VO對(duì)象的每個(gè)屬性對(duì)應(yīng)數(shù)據(jù)表(或者視圖)的一個(gè)字段,你完全可以添加其他非數(shù)據(jù)表字段的VO對(duì)象屬性,以用于業(yè)務(wù)邏輯操作,例如關(guān)聯(lián)字段。VO對(duì)象有個(gè)特殊的保留屬性_info,是一個(gè)數(shù)組變量,用來(lái)保存該VO對(duì)象的一些特殊信息。和VO對(duì)象對(duì)應(yīng)的概念還有PO(持久數(shù)據(jù)對(duì)象),VO和PO的概念都來(lái)自于O/RMapping(ObjectRelationalMapping,對(duì)象關(guān)系映射),PO只能用在數(shù)據(jù)層(也就是說(shuō)PO對(duì)象的屬性必須和數(shù)據(jù)表一一對(duì)應(yīng)),VO用在業(yè)務(wù)邏輯層和表示層(可以有自己的額外屬性)。各層操作屬于該層自己的數(shù)據(jù)對(duì)象,這樣就可以降低各層之間的耦合,便于以后系統(tǒng)的維護(hù)和擴(kuò)展。如果將PO用在各個(gè)層中就相當(dāng)于我們使用全局變量,我們知道在OO設(shè)計(jì)非常不贊成使用全局變量。
VoList對(duì)象
在ThinkPHP框架中,把查詢后的數(shù)據(jù)集(ResultSet)轉(zhuǎn)換成數(shù)據(jù)列表對(duì)象,也就是VOLIST對(duì)象,和ResultSet對(duì)象不同的是每個(gè)記錄就相當(dāng)于一個(gè)VO對(duì)象。在VOLIST對(duì)象中可以方便地遍歷和操作VO對(duì)象。VO對(duì)象和VOLIST對(duì)象都屬于ThinkPHP框架中的實(shí)體對(duì)象,是數(shù)據(jù)操作的基本元素。如果你在開(kāi)發(fā)過(guò)程中沒(méi)有使用Dao模式,而是通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)類直接操作數(shù)據(jù)庫(kù),那么返回的是ResultSet對(duì)象。ThinkPHP系統(tǒng)提供了從ResultSet對(duì)象轉(zhuǎn)換為VOLIST對(duì)象的方法。
組件和插件支持
基于角色的權(quán)限控制體系
企業(yè)級(jí)的應(yīng)用是離不開(kāi)安全保護(hù)的,ThinkPHP以基于Spring的Acegi安全系統(tǒng)作為參考原型,并做了簡(jiǎn)化,以適合目前的ThinkPHP結(jié)構(gòu),提供了一個(gè)多層的、可定制的安全體系來(lái)為應(yīng)用開(kāi)發(fā)提供安全控制。安全體系中主要有: 安全攔截器、認(rèn)證管理器、決策訪問(wèn)管理器 、運(yùn)行身份管理器。
以上是ThinkPHP屬于軟件框架嗎的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。