您好,登錄后才能下訂單哦!
小編給大家分享一下ThinkPHP屬于軟件框架嗎,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
ThinkPHP是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協議發布。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。并且擁有眾多原創功能和特性,在社區團隊的積極參與下,在易用性、擴展性和性能方面不斷優化和改進。
ThinkPHP是一個快速、兼容而且簡單的輕量級國產PHP開發框架,誕生于2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開源協議發布,從Struts結構移植過來并做了改進和完善,同時也借鑒了國外很多優秀的框架和模式,使用面向對象的開發結構和MVC模式,融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服務器環境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多種數據庫以及PDO擴展,ThinkPHP框架本身沒有什么特別模塊要求,具體的應用系統運行環境要求視開發所涉及的模塊。
作為一個整體開發解決方案,ThinkPHP能夠解決應用開發中的大多數需要,因為其自身包含了底層架構、兼容處理、基類庫、數據庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數據庫移植都比較方便。并且每個組件都是精心設計和完善的,應用開發過程僅僅需要關注您的業務邏輯。
重要的概念
要掌握ThinkPHP,首先要了解其中的幾個重要概念,對于熟悉Java開發的朋友,應該很容易理解下面的一些概念。
Action對象
和Struts框架的Action類似,Action對象主要提供應用邏輯的控制和處理,屬于ThinkPHP的控制層,由核心的App類完成模塊和操作的解析后直接轉交給相應的Action對象處理。應用類中的所有Action對象都繼承系統的Action基類。
Dao對象
是指DataAccessObject(數據訪問對象),Dao設計模式把底層的數據訪問邏輯和業務邏輯分開,夾在業務層與數據層中間,用于數據庫訪問和操作。可以針對單表和多表操作。ThinkPHP中的Dao對象屬于建立在抽象數據庫訪問層之上的事務性對象。
VO對象
是指ValueObject(數據對象),更加精確的說是業務對象,因為VO對象是存活在業務層的,供業務邏輯使用的。VO對象和數據表存在一種映射關系,VO對象的每個屬性對應數據表(或者視圖)的一個字段,你完全可以添加其他非數據表字段的VO對象屬性,以用于業務邏輯操作,例如關聯字段。VO對象有個特殊的保留屬性_info,是一個數組變量,用來保存該VO對象的一些特殊信息。和VO對象對應的概念還有PO(持久數據對象),VO和PO的概念都來自于O/RMapping(ObjectRelationalMapping,對象關系映射),PO只能用在數據層(也就是說PO對象的屬性必須和數據表一一對應),VO用在業務邏輯層和表示層(可以有自己的額外屬性)。各層操作屬于該層自己的數據對象,這樣就可以降低各層之間的耦合,便于以后系統的維護和擴展。如果將PO用在各個層中就相當于我們使用全局變量,我們知道在OO設計非常不贊成使用全局變量。
VoList對象
在ThinkPHP框架中,把查詢后的數據集(ResultSet)轉換成數據列表對象,也就是VOLIST對象,和ResultSet對象不同的是每個記錄就相當于一個VO對象。在VOLIST對象中可以方便地遍歷和操作VO對象。VO對象和VOLIST對象都屬于ThinkPHP框架中的實體對象,是數據操作的基本元素。如果你在開發過程中沒有使用Dao模式,而是通過數據庫驅動類直接操作數據庫,那么返回的是ResultSet對象。ThinkPHP系統提供了從ResultSet對象轉換為VOLIST對象的方法。
組件和插件支持
基于角色的權限控制體系
企業級的應用是離不開安全保護的,ThinkPHP以基于Spring的Acegi安全系統作為參考原型,并做了簡化,以適合目前的ThinkPHP結構,提供了一個多層的、可定制的安全體系來為應用開發提供安全控制。安全體系中主要有: 安全攔截器、認證管理器、決策訪問管理器 、運行身份管理器。
以上是ThinkPHP屬于軟件框架嗎的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。