久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

ThinkPHP-基礎(chǔ)概念

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

導(dǎo)航:返回上一頁

LAMP

LAMP是基于Linux,ApacheMySQLPHP的開放資源網(wǎng)絡(luò)開發(fā)平臺,PHP是一種有時候用PerlPython可代替的編程語言。這個術(shù)語來自歐洲,在那里這些程序常用來作為一種標(biāo)準(zhǔn)開發(fā)環(huán)境。名字來源于每個程序的第一個字母。每個程序在所有權(quán)里都符合開放源代碼標(biāo)準(zhǔn):Linux是開放系統(tǒng);Apache是最通用的網(wǎng)絡(luò)服務(wù)器;MySQL是帶有基于網(wǎng)絡(luò)管理附加工具的關(guān)系數(shù)據(jù)庫;PHP是流行的對象腳本語言,它包含了多數(shù)其它語言的優(yōu)秀特征來使得它的網(wǎng)絡(luò)開發(fā)更加有效。開發(fā)者在Windows操作系統(tǒng)下使用這些Linux環(huán)境里的工具稱為使用WAMP。

雖然這些開放源代碼程序本身并不是專門設(shè)計成同另外幾個程序一起工作的,但由于它們都是影響較大的開源軟件,擁有很多共同特點(diǎn),這就導(dǎo)致了這些組件經(jīng)常在一起使用。在過去的幾年里,這些組件的兼容性不斷完善,在一起的應(yīng)用情形變得更加普遍。并且它們?yōu)榱烁纳撇煌M件之間的協(xié)作,已經(jīng)創(chuàng)建了某些擴(kuò)展功能。目前,幾乎在所有的Linux發(fā)布版中都默認(rèn)包含了這些產(chǎn)品。Linux操作系統(tǒng)、Apache服務(wù)器、MySQL數(shù)據(jù)庫和Perl、PHP或者 Python語言,這些產(chǎn)品共同組成了一個強(qiáng)大的Web應(yīng)用程序平臺。


OOP

面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計)是一種計算機(jī)編程架構(gòu)。OOP 的一條基本原則是計算機(jī)程序是由單個能夠起到子程序作用的單元或?qū)ο蠼M合而成。OOP達(dá)到了軟件工程的三個主要目標(biāo):重用性、靈活性和擴(kuò)展性。為了實(shí)現(xiàn)整體運(yùn)算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。OOP主要有以下的概念和組件:

組件 - 數(shù)據(jù)和功能一起在運(yùn)行著的計算機(jī)程序中形成的單元,組件在 OOP 計算機(jī)程序中是模塊和結(jié)構(gòu)化的基礎(chǔ)。

抽象性 - 程序有能力忽略正在處理中信息的某些方面,即對信息主要方面關(guān)注的能力。

封裝 - 也叫做信息封裝:確保組件不會以不可預(yù)期的方式改變其它組件的內(nèi)部狀態(tài);只有在那些提供了內(nèi)部狀態(tài)改變方法的組件中,才可以訪問其內(nèi)部狀態(tài)。每類組件都提供了一個與其它組件聯(lián)系的接口,并規(guī)定了其它組件進(jìn)行調(diào)用的方法。

多態(tài)性 - 組件的引用和類集會涉及到其它許多不同類型的組件,而且引用組件所產(chǎn)生的結(jié)果得依據(jù)實(shí)際調(diào)用的類型。

繼承性 - 允許在現(xiàn)存的組件基礎(chǔ)上創(chuàng)建子類組件,這統(tǒng)一并增強(qiáng)了多態(tài)性和封裝性。典型地來說就是用類來對組件進(jìn)行分組,而且還可以定義新類為現(xiàn)存的類的擴(kuò)展,這樣就可以將類組織成樹形或網(wǎng)狀結(jié)構(gòu),這體現(xiàn)了動作的通用性。

由于抽象性、封裝性、重用性以及便于使用等方面的原因,以組件為基礎(chǔ)的編程在腳本語言中已經(jīng)變得特別流行。

ORM

對象-關(guān)系映射(Object/Relation Mapping,簡稱ORM),是隨著面向?qū)ο蟮能浖_發(fā)方法發(fā)展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今企業(yè)級應(yīng)用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫是企業(yè)級應(yīng)用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關(guān)系數(shù)據(jù)是業(yè)務(wù)實(shí)體的兩種表現(xiàn)形式,業(yè)務(wù)實(shí)體在內(nèi)存中表現(xiàn)為對象,在數(shù)據(jù)庫中表現(xiàn)為關(guān)系數(shù)據(jù)。內(nèi)存中的對象之間存在關(guān)聯(lián)和繼承關(guān)系,而在數(shù)據(jù)庫中,關(guān)系數(shù)據(jù)無法直接表達(dá)多對多關(guān)聯(lián)和繼承關(guān)系。因此,對象-關(guān)系映射(ORM)系統(tǒng)一般以中間件的形式存在,主要實(shí)現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射。

面向?qū)ο笫菑能浖こ袒驹瓌t(如耦合、聚合、封裝)的基礎(chǔ)上發(fā)展起來的,而關(guān)系數(shù)據(jù)庫則是從數(shù)學(xué)理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。為了解決這個不匹配的現(xiàn)象,對象關(guān)系映射技術(shù)應(yīng)運(yùn)而生。

CURD

CURD是一個數(shù)據(jù)庫技術(shù)中的縮寫詞,一般的項(xiàng)目開發(fā)的各種參數(shù)的基本功能都是CURD。它代表創(chuàng)建(Create)、更新(Update)、讀?。≧ead)和刪除(Delete)操作。CURD 定義了用于處理數(shù)據(jù)的基本原子操作。之所以將CURD 提升到一個技術(shù)難題的高度是因?yàn)橥瓿梢粋€涉及在多個數(shù)據(jù)庫系統(tǒng)中進(jìn)行CURD操作的匯總相關(guān)的活動,其性能可能會隨數(shù)據(jù)關(guān)系的變化而有非常大的差異。

CURD在具體的應(yīng)用中并非一定使用create、update 、read和delete字樣的方法,但是他們完成的功能是一致的。例如,ThinkPHP就是使用add、save、select和delete方法表示模型的CURD操作。