2017.02.16 ?周四--【技術(shù)系列】《語(yǔ)言的美女--PHP》

01 前言--上了賊船

? ? ? 不知道何時(shí)就上了PHP的賊船了,開(kāi)始了web的開(kāi)發(fā),記得差不多兩年前我還是做傳統(tǒng)電子行業(yè)的人,就是嵌入式的方向,那時(shí)在天津或擺弄手機(jī),或下煤窯擺弄電話(huà),抑或就是在醫(yī)療電子擺弄血壓計(jì),終于熬不住了,錢(qián)太少了!

? ? 我的一個(gè)基友,告訴我,孩子,別哭,咱學(xué)PHP吧,可以站起來(lái)擼。。。

PHP·年輕的漂亮妹子


? ? 我眼里放光,就屁顛屁顛地跟來(lái)了。問(wèn)我為啥不選擇如日中天的王道Java,基友的話(huà),比PHP難太多,咱專(zhuān)注的是互聯(lián)網(wǎng)領(lǐng)域。來(lái)到了宇宙中心五道口,開(kāi)始了PHP的實(shí)踐之路,這是家做互聯(lián)網(wǎng)教育的機(jī)構(gòu),我在這里學(xué)習(xí)工作的很開(kāi)心,做了不少的項(xiàng)目,結(jié)交了不少的朋友,帝都的美麗畫(huà)卷猶如一個(gè)美麗的女子一般在我眼前徐徐展開(kāi)。我很開(kāi)心。

? ? ?后來(lái)來(lái)到現(xiàn)在的這家醫(yī)療互聯(lián)網(wǎng)的公司,PHP使用的是自己的框架,有很深的Java的痕跡,用到了很多web的組件。學(xué)習(xí)了很多。像底層的ORM, 領(lǐng)域驅(qū)動(dòng)模式,業(yè)務(wù)數(shù)據(jù)的拆分,異步MQ, 緩存Memcache, redis等等。

? ? ?從2014年8月份到現(xiàn)在 2017年的2月份,正好2年半的時(shí)間里,我覺(jué)得是時(shí)候自己好好聊一聊PHP了。說(shuō)的好的地方,希望您不吝掌聲和贊美,說(shuō)的不好的地方,你就拍磚,指出來(lái),以供我改正,良辰在此謝過(guò)了。

02 web開(kāi)發(fā)語(yǔ)言--PHP

? ? ?PHP是一門(mén)專(zhuān)注于web開(kāi)發(fā)的腳本語(yǔ)言,語(yǔ)法簡(jiǎn)單,非常容易上手,但是要做的很深很好就不容易了。就像大家都會(huì)寫(xiě)字,但是寫(xiě)出非常漂亮的文章,就不是一般人能做到了。PHP開(kāi)發(fā)的領(lǐng)域也比較廣闊,設(shè)計(jì)web開(kāi)發(fā)的方方面面,技術(shù)黃金組合LAMP/LNMP,也指的是Linux操作系統(tǒng), Apache/Nginx web服務(wù)器, mysql數(shù)據(jù)庫(kù),和PHP這個(gè)編程語(yǔ)言。

PHP·Web開(kāi)發(fā)的利器


03 面向?qū)ο蠛蛿?shù)據(jù)結(jié)構(gòu)--PHP

? ? ? 前幾年P(guān)HP還是面向過(guò)程的編程,近來(lái)變成了面向?qū)ο罅耍痪湓?huà),還是簡(jiǎn)單,可定制,程序相當(dāng)自由靈活,任何的變量,你都可以 var_dump打印出來(lái)看看到底是什么,比Java什么的好多了,Java打印不同的變量,都要不同的類(lèi)的不同方法來(lái)實(shí)現(xiàn),比較的繁瑣。還有PHP的主要的數(shù)據(jù)結(jié)構(gòu)主要是字符串和數(shù)組,這里邊基本上包含了PHP %80的編程量,PHP的數(shù)組尤其強(qiáng)大,幾乎實(shí)現(xiàn)了Java中的集合,哈希等多種結(jié)構(gòu),就是這么簡(jiǎn)單快捷,一氣呵成。

PHP·面向?qū)ο缶幊獭?/div>


04 MVC,框架和設(shè)計(jì)模式

? ? PHP的開(kāi)發(fā),也是遵循MVC模式的,數(shù)據(jù)層Model,視圖層View,控制層Controller。這種低耦合高內(nèi)聚的設(shè)計(jì)方法也成了行業(yè)的圭臬。很多的PHP的優(yōu)秀的框架像CI,ThinkPHP都是遵循MVC的,當(dāng)然你自己高興,也可以在PHP中實(shí)現(xiàn)你自己所謂的常見(jiàn)的設(shè)計(jì)模式,像單例模式,觀察者模式等等。

05 LAMP/LNMP--開(kāi)源免費(fèi)的黃金組合

? ? ?Linux系統(tǒng)確實(shí)挺牛的,那命令下的簡(jiǎn)潔高效,那黑底白字的優(yōu)雅,那穩(wěn)定強(qiáng)悍的性能,都使人深深著迷!PHP的服務(wù)端代碼就運(yùn)行在Linux這個(gè)免費(fèi)高效的系統(tǒng)上面,很多運(yùn)維人員也用shell或者Python等其他語(yǔ)言和Linux不斷聊著人生。VIM更是Linux下的神之編輯器,每天都會(huì)有新的學(xué)習(xí)和成長(zhǎng),驚喜每一天啊。

PHP·LNMP黃金組合


? ? Apache和Nginx都是PHP常用的web服務(wù)器,主要解決路由和請(qǐng)求轉(zhuǎn)發(fā)的問(wèn)題,還有負(fù)載均衡,反向代理等。做成集群,以構(gòu)建高可用的web應(yīng)用,這都是企業(yè)級(jí)的應(yīng)用。這一部分也是我要精進(jìn)的部分,有時(shí)間還得是拿來(lái)源碼等好好研讀一番,設(shè)計(jì)的精妙,盡在其中。

? ? MySQL數(shù)據(jù)庫(kù),也是小巧而可愛(ài),與PHP是天造地設(shè)的一對(duì),增刪改查,無(wú)一不能,支持事務(wù)的Innodb引擎,優(yōu)化查詢(xún)語(yǔ)句的路上,你我都需要費(fèi)點(diǎn)思量。

? ? ?PHP本身是這里邊的核心,畢竟她是編程語(yǔ)言。這是世界上最好的編程語(yǔ)言,在Linux系統(tǒng)上運(yùn)行,接受Apache或Nginx轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求,去Mysql數(shù)據(jù)庫(kù)中拿處理展示的數(shù)據(jù)。這就是PHP的魅力,在前端和JavaScript一起渲染html的頁(yè)面,華麗麗,牛逼逼,就是這么屌,哈哈~

06 高性能web應(yīng)用--PHP的架構(gòu)方向

? ? ?保證網(wǎng)站性能的高性能,高可用的狀態(tài),等設(shè)計(jì)到架構(gòu)的方面,從用戶(hù)從瀏覽器中輸入網(wǎng)址,到一個(gè)華麗的頁(yè)面展示在用戶(hù)的面前,雖然只有短短的幾秒時(shí)間,中間卻經(jīng)歷了太多太多的東西,現(xiàn)在咱們就解開(kāi)這里的神秘面紗。

? ? 輸入網(wǎng)址,瀏覽器客戶(hù)端就發(fā)起了http的請(qǐng)求,到DNS解析網(wǎng)址對(duì)應(yīng)的IP,到CDN數(shù)據(jù)中心,一路路由凱歌猛進(jìn),速度當(dāng)然是光速了。在光纖或者電纜中信號(hào)電光石火。到網(wǎng)址的web服務(wù)器層面,被負(fù)載均衡路由到某個(gè)服務(wù)器集群下的服務(wù)器,有可能從緩存服務(wù)器直接拿數(shù)據(jù)走了,也可能請(qǐng)求到PHP的代碼,繼續(xù)到MySql數(shù)據(jù)庫(kù),業(yè)務(wù)處理完之后,輸出給web服務(wù)器,沿原路返回,到客戶(hù)端的瀏覽器,和JS一起進(jìn)行渲染頁(yè)面。完成全部的工作。是不是很神奇啊。

PHP·構(gòu)建高性能網(wǎng)站


? ? 里面用到的技術(shù)很多呢,DNS,CDN,負(fù)載均衡,反向代理,緩存服務(wù)器集群,應(yīng)用服務(wù)器集群,路由算法,數(shù)據(jù)庫(kù)集群等待,都足以讓你學(xué)習(xí)一番的了。

07 寫(xiě)在最后

? ? ?技術(shù)的精進(jìn),永無(wú)止境,學(xué)些吧,你可以做的更好。

? ? ?PHP這樣的語(yǔ)言漂亮妹子,你值得擁有~

PHP·你值得擁有的妹子
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 本文首發(fā)于 GitChat,現(xiàn)免費(fèi)放出~感謝大家的支持。 我們都知道,大學(xué)幾乎是沒(méi)有 Web 前端課的。以我所在的...
    hylerrix閱讀 5,171評(píng)論 6 60
  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 4,021評(píng)論 1 66
  • 【清平樂(lè)?城市拾荒少年] 平樓堆砌,何處如巢蟻?窄巷縱橫深隱秘,難覓閑人擁立。 陽(yáng)碳熱烤車(chē)山,少年雨汗?jié)裆?。不羨同...
    士?jī)?/span>閱讀 437評(píng)論 2 2
  • 今天晚上沒(méi)趕上地鐵末班車(chē),所以就打車(chē),司機(jī)是個(gè)白胖的微笑哥,說(shuō)話(huà)總是笑呵呵的,他說(shuō):“姑娘怎么在這打車(chē),這個(gè)地方很...
    夜空中最亮的那顆星星閱讀 185評(píng)論 0 0

友情鏈接更多精彩內(nèi)容