教培參考
教育培訓(xùn)行業(yè)知識(shí)型媒體
發(fā)布時(shí)間: 2024年12月22日 09:20
優(yōu)點(diǎn)一:狀態(tài)
每一個(gè)網(wǎng)頁(yè)請(qǐng)求都是從一個(gè)完完全全的白板開(kāi)始。除了提供原始功能和生命支持的標(biāo)準(zhǔn)的全局變量,函數(shù)和類(lèi)以外,它的命名空間和全局變量都是未初始化的。通過(guò)從已知狀態(tài)開(kāi)始每一個(gè)請(qǐng)求,我們可以得到一種本質(zhì)上的故障隔離;如果請(qǐng)求t遇到了軟件的缺陷和失敗,這個(gè)缺陷不會(huì)直接干擾后續(xù)的請(qǐng)求t+1。狀態(tài)駐留在程序堆以外的其他地方,當(dāng)然它有可能有狀態(tài)地弄糟數(shù)據(jù)庫(kù),或者緩存,或者文件信息系統(tǒng)。但是PHP和所有允許存在的可能環(huán)境分擔(dān)了它的弱點(diǎn)。隔離請(qǐng)求堆從另一個(gè)方面降低了大多數(shù)程序缺陷的成本。
優(yōu)點(diǎn)二:處理并發(fā)的優(yōu)勢(shì)
一個(gè)獨(dú)立的網(wǎng)絡(luò)請(qǐng)求運(yùn)行在一個(gè)單獨(dú)的PHP線(xiàn)程上。乍看,這似乎是一個(gè)愚蠢的限制。但是一旦你的程序執(zhí)行在一個(gè)網(wǎng)絡(luò)服務(wù)器的上下文中以后,我們就有了一個(gè)可用的自然并發(fā):網(wǎng)絡(luò)請(qǐng)求。異步地CURL到本地服務(wù)(甚至是網(wǎng)絡(luò)服務(wù))提供了一個(gè)開(kāi)發(fā)并行性的無(wú)共享,拷入/拷出的方式。在實(shí)踐中,這對(duì)錯(cuò)誤來(lái)說(shuō)比大多數(shù)其他通用語(yǔ)言提供的鎖共享狀態(tài)方法要更安全,更具有彈性。
優(yōu)點(diǎn)三:事實(shí)上PHP程序在一個(gè)請(qǐng)求級(jí)別操作意味著程序員的工作流程是快速而有效的,并保持隨著應(yīng)用的變化而快速變化。許多開(kāi)發(fā)者使用的語(yǔ)言聲稱(chēng)是這樣,但是如果它們沒(méi)有為每一個(gè)請(qǐng)求重置狀態(tài),主事件循環(huán)將和請(qǐng)求共享程序級(jí)狀態(tài),它們幾乎總是需要一些啟動(dòng)時(shí)間。例如,對(duì)一個(gè)典型的Python應(yīng)用服務(wù),調(diào)試周期看起來(lái)像這樣想;編輯;重啟服務(wù);發(fā)送一些測(cè)試請(qǐng)求。即使重啟服務(wù)只花了幾秒,但這也會(huì)讓我們?nèi)祟?lèi)有限的大腦為了保持到微妙狀態(tài)浪費(fèi)15到30秒的時(shí)間。
我敢說(shuō),PHP簡(jiǎn)單的想,編輯,重新加載頁(yè)面周期讓開(kāi)發(fā)者更有效率。在一個(gè)漫長(zhǎng)而復(fù)雜的軟件項(xiàng)目的生命周期過(guò)程中,這提高了生產(chǎn)力。
如果上面所說(shuō)的全都是對(duì)的,那為什么還有那么多人不喜歡PHP呢?當(dāng)你拋開(kāi)各種各樣夸張的說(shuō)法,對(duì)于PHP的抱怨,最多聚集在幾個(gè)最基本的原因:
缺點(diǎn)一:未知類(lèi)型轉(zhuǎn)換
程序員這些天幾乎在比較所有的語(yǔ)言,例如整數(shù)和浮點(diǎn)數(shù)與=運(yùn)算符;heck,甚至C都是允許。其意圖是完全清楚的。不太清楚的是使用==比較字符串和整數(shù)意味著什么,不同的語(yǔ)言做出了不同的選擇。PHP在這個(gè)部分的選擇是特別不恰當(dāng)?shù)模@導(dǎo)致了異常和未檢測(cè)到的錯(cuò)誤。
缺點(diǎn)二:值語(yǔ)義,引用的不一致
PHP3有一個(gè)明確的語(yǔ)義--賦值,參數(shù)傳遞和返回都是通過(guò)值來(lái)傳遞,創(chuàng)建一個(gè)問(wèn)題的數(shù)據(jù)的淺拷貝。程序員可以選擇參考語(yǔ)義與注釋[2]。這將與PHP4和5中引入了面向?qū)ο蟮木幊坛绦驔_突。PHP的面向?qū)ο蠓?hào)大部分是從Java借鑒的,Java具有通過(guò)引用處理對(duì)象的語(yǔ)義,而基本類(lèi)型由值來(lái)處理。所以PHP的語(yǔ)義的當(dāng)前狀態(tài)是對(duì)象通過(guò)引用傳遞(選擇Javaover,比如說(shuō)C++),基本類(lèi)型通過(guò)值傳遞(其中Java,C++和PHP允許),但是舊的引用語(yǔ)義和&表示法依然保留,有時(shí)候與新的方式對(duì)接會(huì)出現(xiàn)未知的現(xiàn)象。
以上就是從php專(zhuān)業(yè)角度進(jìn)行了分析,當(dāng)然php的優(yōu)點(diǎn)并不止于此,小編認(rèn)為他最大的優(yōu)點(diǎn)在于其開(kāi)源免費(fèi),這也是市場(chǎng)占有率高的根本原因,也造就了php的強(qiáng)大,那么php培訓(xùn)哪里才能學(xué)到這么好的后端技術(shù)呢,不妨來(lái)優(yōu)逸客看看哦!
微信掃碼關(guān)注公眾號(hào)
獲取更多考試熱門(mén)資料