應(yīng)該問的是網(wǎng)站的構(gòu)架 三層結(jié)構(gòu)
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)延邊朝鮮族免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
隨著Internet越來越廣泛的應(yīng)用,原來基于局域網(wǎng)的企業(yè)網(wǎng)開始采用Internet技術(shù)構(gòu)筑和改建自己的企業(yè)網(wǎng),即Intranet。于是,一種新興的體系結(jié)構(gòu)Browser/Server應(yīng)運(yùn)而生,并獲得飛速發(fā)展,成為眾多廠家爭相采用的新型體系結(jié)構(gòu)。本質(zhì)上,Browser/Server也是一種Client/Server結(jié)構(gòu),它是一種由傳統(tǒng)的二層Client/Server結(jié)構(gòu)發(fā)展而來的三層Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。
在Browser/Server的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求。Browser/Server結(jié)構(gòu)極大的簡化了客戶機(jī)的工作,客戶機(jī)上只需安裝、配置少量的客戶端軟件即可, 服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。
在Browser/Server三層體系結(jié)構(gòu)下,表示層(Presentatioon)、功能層(Business Logic)、數(shù)據(jù)層(Data Service)被割成三個(gè)相對(duì)獨(dú)立的單元:
第一層 表示層:Web瀏覽器
在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由Web瀏覽器向網(wǎng)絡(luò)上的某一Web服務(wù)器提出服務(wù)請求,Web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后用HTTP協(xié)議把所需的主頁傳送給客戶端,客戶機(jī)接受傳來的主頁文件,并把它顯示在Web瀏覽器上。
第二層 功能層:具有應(yīng)用程序擴(kuò)展功能的Web服務(wù)器
在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶的請求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫進(jìn)行連接,通過SQL等方式向數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)處理申請,而后等數(shù)據(jù)庫服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。
第三層 數(shù)據(jù)層:數(shù)據(jù)庫服務(wù)器
在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務(wù)器端。它的任務(wù)是接受Web服務(wù)器對(duì)數(shù)據(jù)庫操縱的請求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。
1. Yii
Yii是一個(gè)基于組件的高性能的PHP的框架,用于開發(fā)大規(guī)模Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫,并有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級(jí)式RBAC,Web服務(wù),到主體化,I18N和L10N,Yii提供了今日Web 2.0應(yīng)用開發(fā)所需要的幾乎一切功能。而且這個(gè)框架的價(jià)格也并不太高。事實(shí)上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個(gè)應(yīng)用開發(fā)框架——一個(gè)為建立PHP網(wǎng)站的人們所設(shè)計(jì)的工具包。其目標(biāo)在于快速的開發(fā)項(xiàng)目:它提供了豐富的庫組以完成常見的任務(wù),以及簡單的界面,富有條理性的架構(gòu)來訪問這些庫。使用CodeIgniter開發(fā)可以往項(xiàng)目中注入更多的創(chuàng)造力,因?yàn)樗?jié)省了大量編碼的時(shí)間。
3. CakePHP
CakePHP是一個(gè)快速開發(fā)PHP的框架,其中使用了一些常見的設(shè)計(jì)模式如ActiveRecord,Association Data Mapping,F(xiàn)ront Controller以及MVC。其主要目標(biāo)在于提供一個(gè)令任意水平的PHP開發(fā)人員都能夠快速開發(fā)web應(yīng)用的框架,而且這個(gè)快速的實(shí)現(xiàn)并沒有犧牲項(xiàng)目的彈性。
4. PHPDevShell
PHPDevShell是一個(gè)開源(GNU/LGPL)的快速應(yīng)用開發(fā)框架,用于開發(fā)不含Javascript的純PHP。它有一個(gè)完整的GUI管理員后臺(tái)界面。其主要目標(biāo)在于開發(fā)插件一類的基于管理的應(yīng)用,其中速度、安全、穩(wěn)定性及彈性是最優(yōu)先考慮的重點(diǎn)。其設(shè)計(jì)形成了一個(gè)簡單的學(xué)習(xí)曲線,PHP開發(fā)者無需學(xué)習(xí)復(fù)雜的新術(shù)語。PHPDevShell的到來滿足了開發(fā)者們對(duì)于一個(gè)輕量級(jí)但是功能完善,可以無限制的進(jìn)行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個(gè)基于MVC設(shè)計(jì)模式的web應(yīng)用開發(fā)平臺(tái)。基于良好的使用習(xí)慣,使用它可以完成如下任務(wù):
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(yīng)(response)
◆管理國際化的應(yīng)用
◆使用簡單的協(xié)議與模型及數(shù)據(jù)庫通信
你的Akelos應(yīng)用可以在大多數(shù)共享主機(jī)服務(wù)供應(yīng)方上運(yùn)行,因?yàn)锳kelos對(duì)服務(wù)器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于發(fā)布單獨(dú)web應(yīng)用的框架,因?yàn)樗恍枰菢?biāo)準(zhǔn)PHP配置便能運(yùn)行。
6. Symfony
Symfony是一個(gè)用于開發(fā)PHP5項(xiàng)目的web應(yīng)用框架。
這個(gè)框架的目的在于加速web應(yīng)用的開發(fā)以及維護(hù),減少重復(fù)的編碼工作。
Symfony的系統(tǒng)需求不高,可以被輕易的安裝在任意設(shè)置上:你只需一個(gè)Unix或Windows,搭配一個(gè)安裝了PHP5的網(wǎng)絡(luò)服務(wù)器即可。它與差不多所有的數(shù)據(jù)庫兼容。Symfony的價(jià)位不高,相比主機(jī)上的花銷要低得多。
對(duì)于PHP開發(fā)者而言,使用Symfony是一件很自然的事,其學(xué)習(xí)曲線只有短短一天。干凈的設(shè)計(jì)以及代碼可讀性將縮短開發(fā)時(shí)間。開發(fā)者可以將敏捷開發(fā)的原理(如DRY,KISS或XP等)應(yīng)用在其中,將重點(diǎn)放在應(yīng)用邏輯層面上,而不用花費(fèi)大量時(shí)間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業(yè)級(jí)的完善應(yīng)用程序。也就是說,你擁有整個(gè)設(shè)置的控制權(quán):從路徑結(jié)構(gòu)到外部庫,幾乎一切都可以自定義。為了符合企業(yè)的開發(fā)條例,Symfony還綁定了一些額外的工具,以便于項(xiàng)目的測試,調(diào)試以及歸檔。
7. Prado
PRADO團(tuán)隊(duì)由一些PRADO狂熱者組成,這些成員開發(fā)并推動(dòng)PRADO框架以及相關(guān)項(xiàng)目的進(jìn)行。
PRADO的靈感起源于Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項(xiàng)目之一。這個(gè)項(xiàng)目目前進(jìn)展到了3.x版本。
8. Zend
作為PHP藝術(shù)及精神的延伸,Zend框架的基礎(chǔ)在于簡單,面向?qū)ο蟮淖罴逊椒ǎ奖闫髽I(yè)的許可協(xié)議,以及經(jīng)過反復(fù)測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應(yīng)用及web服務(wù),并不斷從前沿廠商(如Google,Amazon,Yahoo,F(xiàn)lickr,StrikeIron和ProgrammableWeb等)的API那里吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向?qū)ο蟮腜HP框架。
這是個(gè)穩(wěn)定,可伸縮并可移植的框架。從誕生到現(xiàn)在的5年間,已經(jīng)在不少產(chǎn)品開發(fā)中被使用。Zoop是一個(gè)快速,有效并干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對(duì)代碼并不很熟悉的開發(fā)者也可以通過Zoop快速的開發(fā)安全的web應(yīng)用。熟練的開發(fā)者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數(shù)據(jù)層(MVC)分開使用。
Zoop由很多組件和項(xiàng)目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實(shí)現(xiàn)的功能。Zoop內(nèi)置的糾錯(cuò)功能可以通過配置實(shí)現(xiàn)生產(chǎn)環(huán)境下的錯(cuò)誤日志生成,這個(gè)錯(cuò)誤日志提供了很多信息,可讀性很高,可以更輕易的尋找并排除錯(cuò)誤。
Zoop的一個(gè)特別之處在于其GuiControls,在PHP中是一個(gè)相當(dāng)革新的想法。它提供了很多form widgets與驗(yàn)證完整的集合到一起,并形成了一個(gè)可以輕松打造個(gè)性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個(gè)與ASP.NET類似的MVC框架。基本上它是這樣一個(gè)情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基于OOP的概念
ThinkPHP的架構(gòu): 是 核心 + 行為 + 驅(qū)動(dòng),TP官方簡稱為:CBD\x0d\x0a\x0d\x0a核心(Core):就是框架的核心代碼,不可缺少的東西,TP本身是基于MVC思想開發(fā)的框架。\x0d\x0a\x0d\x0a行為(Behavior) :行為在新版ThinkPHP的架構(gòu)里面起著舉足輕重的作用,在系統(tǒng)核心之上,設(shè)置了很多標(biāo)簽擴(kuò)展位,而每個(gè)標(biāo)簽位置可以依次執(zhí)行各自的獨(dú)立行為。行為擴(kuò)展就因此而誕生了,而且很多系統(tǒng)功能也是通過內(nèi)置的行為擴(kuò)展完成的,所有行為擴(kuò)展都是可替換和增加的,由此形成了底層框架可組裝的基礎(chǔ)。\x0d\x0a\x0d\x0a驅(qū)動(dòng)( Driver ):數(shù)據(jù)庫驅(qū)動(dòng)、緩存驅(qū)動(dòng)、標(biāo)簽庫驅(qū)動(dòng)和模板引擎驅(qū)動(dòng),以及外置的類擴(kuò)展。\x0d\x0a\x0d\x0a答案部分來自【知乎】
名稱欄目:php項(xiàng)目數(shù)據(jù)庫的架構(gòu),php項(xiàng)目數(shù)據(jù)庫的架構(gòu)是什么
文章URL:http://m.newbst.com/article14/dssihge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、Google、網(wǎng)頁設(shè)計(jì)公司、服務(wù)器托管、微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)