php教程163,train的優缺點?
一、優點
1. 跨平臺,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,并且和很多免費的平臺結合非常省錢,比如LAMP(Linux /apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數據庫。(N >= 10)
2. 語法簡單,如果有學習C和Perl的很容易上手,并且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺下可以使用Eclipse等等。
3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做數據庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問數據庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7. 有成熟的社區來支持PHP的開發。
8. 目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
10.使用成本低 (linux apache mysql php內核)
二、缺點
1.對多線程支持不太好,大多數時候我們只能簡單的模擬去實現的。
2.語法不太嚴謹,比如變量不需要定義就可以使用,在c,java,c++中變量是必須先定義以后才可以使用的。
3.PHP的解釋運行機制。這種運行機制使得每個PHP頁面被解釋執行后,所有的相關資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內存。在PHP中,所有的變量都是頁面級的,無論是全局變量,還是類的靜態成員,都會在頁面執行完畢后被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對應頁面、程序、會話、請求四種生存期。但在PHP中,只有Page一種生存期。
python有什么推薦的好書嗎?
零基礎學習Python的話,看視頻的效果會更好,很多知識點通過老師的講解,理解起來會更容易些,比如說需要實現一個功能,從功能的分析,代碼的實現以及代碼的調試都是動態進行的,更加形象一些,視覺體驗也會更好;
之前在 “ 如鵬網 ”上了解過Python的課程體系,挺詳細的,可以參考一下,有網絡的地方就可以學習,根據自己的時間來靈活安排學習進度,也有更多的時間來練習項目,夯實基礎;
有問題隨時提問,老師實時在線答疑,每個章節的后面都有相應的練習題和面試口才題,需要以錄音的方式進行提交,直到通過為止,為以后的面試做充分的準備,口碑不錯,基本上都是慕名而去的,有新的課程,也是可以免費申請了來學習的,具體的可以到如鵬網官網上去了解一下;
有詳細的課程體系,可以作為參考;
第一部分:Python語言基礎
第二部分:數據庫基礎
第三部分:web前端
第四部分:Python web開發
第五部分:Python web項目
第六部分:Linux
第七部分:NoSQL
第八部分:數據可視化
第九部分:爬蟲技術
第十部分:人工智能
清明節的由來?
【 清明節的由來,你知道多少?】非著名網文作者姚錄岐認為,清明二字本來的含義,就是指【政治清明】;
這是由清明節的來歷所決定的。相傳春秋時,晉公子重耳(chóng ěr),為逃避迫害而流亡時,一次又累又餓,再也無力站起來;隨臣找了半天也找不到一點吃的,隨從介子推走到僻靜處,從自己大腿上割下一塊肉,煮了一碗肉湯讓公子吃了,重耳漸漸恢復了體力,當重耳發現肉是介子推從自己腿上割下時,感動得流下了熱淚。十九年后,重耳做了國君,即歷史上春秋五霸之一的晉文公;晉文公重賞了當初伴隨他流亡的功臣,卻唯獨漏掉了介子推;很多人為介子推鳴不平,勸他面君討賞,然而介子推鄙視那些爭功討賞的人;他打點好行裝,同老母親悄悄地到綿山隱居。晉文公聽說后,羞愧莫及,親自帶人去請介子推,但因綿山山高路險,樹木茂密,找尋兩個人談何容易,有人獻計,從三面火燒綿山,逼出介子推;大火燒遍綿山,卻沒見介子推的身影,火熄后,人們才發現背著老母親的介子推已坐在一棵老柳樹下死了;發現其衣襟上寫著:“割肉奉君盡丹心,但愿主公常清明。”為了紀念介子推,晉文公下令將這一天定為寒食節,把寒食節的后一天定為清明節。今年4月5日是清明節,我們只知道這是個緬懷英烈,悼念離世親人的節日;但卻忘記了清明節的本來含義;【清明】的本來含義是什么?黨的十八大報告明確提出“建設廉潔政治”,并闡明了廉潔政治的內涵即干部清正、政府清廉、政治清明;其中,“政治清明”怎么理解?都包含哪些“核心元素”?我們應從三個“維度”加以解讀:第一維: “圣賢之德”應當是“政治清明”的重要基礎;第二維: “民主法治”應當是“政治清明”的重要元素;第三維: “廉潔奉公”應當是“政治清明”的核心要義。由此可知,我們今天過’清明節’,還有更深一層含義,那就是要把祭奠英烈,緬懷親人的’清明節’和’政治清明’相聯系?人人都要為’政治清明’貢獻自己應有的力量。附:(一).非著名網文作者姚錄岐的主頁平臺:1.天馬大家好愛文章的頭條主頁今日頭條(www.toutiao.com)https://www.toutiao.com/c/user/token/MS4wLjABAAAAk0Wtr3Sihy4FL0RrNwGi3v8cVC_994auXyV1zy39s_w/?source=feed2.天馬AAAA.姚錄岐的微博_微博https://weibo.com/p/1005052651309631/home?sudaref=www.baidu.com&is_all=13.姚錄岐.我的圖書館主頁http://www.360doc.com/myfiles.aspx?app=1&type=34.姚錄岐.天馬的空間 http://3334172842.qzone.qq.comhttps://user.qzone.qq.com/3334172842/infocenter?_t_=0.87463804100629425.姚錄岐吧-百度貼吧 https://tieba.baidu.com/f?kw=%D2%A6%C2%BC%E1%AA(二).目前網文的十個熱點.關注點:(1).老百姓熱愛毛澤東時代引發熱議的網文:1.中國的「毛澤東熱」,波及世界引發共鳴,說明了什么?-姚錄岐-今日頭條 https://www.toutiao.com/article/7123039894934471180/
2.吃水不忘挖井人,國慶倍思毛主席-姚錄岐-今日頭條 https://www.toutiao.com/article/7150066440958198309/
3.五十.六十.七十年代的青年,青春記憶是什么?-今日頭條 https://www.toutiao.com/article/7054298986370318856/?channel=&source=search_tab
4.歷史不應留空白,三大現象須關注-今日頭條 https://www.toutiao.com/article/7020891718530777630/?channel=&source=search_tab
(2).國際熱點評析引發熱議的網文
1.關于俄烏戰爭引發國際形勢巨變的預測-姚錄岐-今日頭條 https://www.toutiao.com/article/7128708723710657057/
2.義憤是愛國激情,整改是當務之急-姚錄岐-今日頭條 https://www.toutiao.com/article/7124588353546338829/
3.一年前,筆者就曾預言蘇聯可能復活-姚錄岐-今日頭條 https://www.toutiao.com/article/7091968221666263563/?channel=&source=search_tab
4.日本對我國的文化滲透,是[文化特色】還是「文化入侵」?-姚錄岐-今日頭條 https://www.toutiao.com/article/7128657562253525519/
5.紀念日本侵略者的紀念碑,應該「這樣」繼續立下去-姚錄岐 http://www.360doc.com/content/22/0727/07/59259542_1041535364.shtml
(3).國內熱點評析引發熱議的網文
1.戴笠孫子在面臨被判死刑之際,說了一句什么話順利完成了自我救贖-今日頭條 https://www.toutiao.com/article/7113100263539409446/
2.《二舅》倍受熱捧,原因發人深省-姚錄岐-今日頭條 https://www.toutiao.com/article/7124986511761785374/?channel=&source=search_tab
3.司馬莫言之辯,民心民意再現 姚錄岐-今日頭條 https://www.toutiao.com/article/7151927631859040806/
4.《人世間》,給了我們做父母的什么啟發? - 非著名網文作者姚錄岐(提問者)的回答 - 頭條問答 https://www.toutiao.com/answer/7063637228551110915/
5.暖氣停供收費引發熱議(之二)-姚錄岐-今日頭條 https://www.toutiao.com/article/7150822400416842281/
6.業主要求取締物業公司,筆者對此提出五條建議-姚錄岐-今日頭條 https://www.toutiao.com/article/7136733057016398339/?channel=&source=search_tab
(4).老年人如何才能越活越快樂.幸福
1.老年人晚年怎樣做,才可真正獲得幸福-姚錄岐-今日頭條 https://www.toutiao.com/article/7128896103969243682/?channel=&source=search_tab
2.父母子女分開生活,雙方自愿因為什么?-今日頭條 https://www.toutiao.com/article/7018367876742627843/?log_from=58ae54302f1a8_1637712122980
3.一個家庭是否幸福美滿,關鍵靠什么?-姚錄岐.雋列勤-今日頭條 https://www.toutiao.com/article/7129289527671652901/?channel=&source=search_tab
4.老年人在酷暑難耐時,要首先使用「生態空調」-姚錄岐-今日頭條 https://www.toutiao.com/article/7115285967942009352/?channel=&source=search_tab
5.養生關鍵抓心臟,健康從來靠自己-今日頭條 https://www.toutiao.com/article/7000126198542123551/?channel=&source=search_tab
6.如何通過飲食滋補大腦,激發大腦活力? http://www.360doc.com/content/22/0122/06/59259542_1014384736.shtml
(5).青年人如何在社會立足創業:
1.你是否知道,打倒你的敵人是誰,如何防范(內卷)?-姚錄岐-今日頭條 https://www.toutiao.com/article/7137966919646528034/?channel=&source=search_tab
2.父母對子女最想說的話(之三):良好人緣,是培育幸運資源的沃土-今日頭條 https://www.toutiao.com/article/7055221035804656161/?channel=&source=search_tab
3.人生成功靠兩個立足點-父母對子女最想說的話(之五)-今日頭條 https://www.toutiao.com/article/7065880179587105284/?channel=&source=search_tab
4.女孩子選男朋友的標準是什么?-今日頭條 https://www.toutiao.com/article/7062878388104692235/?channel=&source=search_tab
5.理性戀愛觀,是組建幸福之家的通行證-今日頭條 https://www.toutiao.com/article/7016528713881764388/?channel=&source=search_tab
6.把壞事轉化為好事,讓心煩重歸于愉悅-姚錄岐-今日頭條 https://www.toutiao.com/article/7149709909360149004/?log_from=8e6c3607f4ea7_1666529760776
7.懂得天道輪回,就有良好心情 -姚錄岐-今日頭條 https://www.toutiao.com/article/7143145675113480715/?channel=&source=search_tab
(6).姚錄岐論家庭文化及社會熱點評論:
1.姚錄岐家庭文化(前言)-今日頭條 https://www.toutiao.com/article/7001966036731970085/?channel=&source=search_tab
2.頭條號:《老人再婚,是領結婚證好,還是不領結婚證、只是同居更好?》 https://mp.toutiao.com/profile_v4/wenda/answer?qid=6634007200933085443&group_id=7167229708349407522&enter_from=&category_name=article_manage&stick_id=7167229708349407522
3.《最近的熱搜“張家界新娘”是什么?》 https://m.zjurl.cn/answer/7167139648275071269/?app=news_article&app_id=13&share_ansid=7167139648275071269
4.現在光棍多、剩女多、不婚不育多、離婚多、同居多的根源是什么? https://m.zjurl.cn/answer/7166384072892563751/?
5.《一個女人毫無保留的支持一個男人創業,說明了什么?》: https://m.zjurl.cn/answer/7165723429872845068/?app=news_article&app_id=13&share_ansid=7165723429872845068
6.近幾年,中國人口出生率不斷下降,怎樣才能提高人口出生率? https://m.zjurl.cn/answer/7166393670668419363/?app=news_article&app_id=13&share_ansid=7166393670668419363
app=news_article&app_id=13&share_ansid=7166384072892563751
7.為什么現在的人,在親戚.朋友之間不喜歡金錢借助-姚錄岐-今日頭條 https://www.toutiao.com/article/7075577077054865959/?channel=&source=search_tab
8.家庭理財,安全第一 -姚錄岐-今日頭條 https://www.toutiao.com/article/7091121046979461647/?channel=&source=search_tab
9.母親節的「母親夢」-姚錄岐-今日頭條 https://www.toutiao.com/article/7095327053318259211/?channel=&source=search_tab
10.母愛身教與興家—姚錄岐家庭文化之五-今日頭條 https://www.toutiao.com/article/7002739475696845344/?channel=&source=search_tab
11.助人為樂,家中傳統;今日頭條,成就人生-今日頭條 https://www.toutiao.com/article/7021323375196897803/?channel=&source=search_tab
12.您相信善有善報,惡有惡報嗎?-今日頭條 https://www.toutiao.com/article/7064073896093401603/?channel=&source=search_tab
(7).如何看待歷史,評價歷史人物?
1.五千年歷史,五個最偉大的人? http://www.360doc.com/showweb/0/0/1013347113.aspx
2.無比珍貴的中華文物,無比神奇的當屬哪件-姚錄岐-今日頭條 https://www.toutiao.com/article/7122978624877232644/?channel=&source=search_tab
3.學習毛主席歷史觀點,肯定秦始皇歷史功績-姚錄岐-今日頭條 https://www.toutiao.com/article/7144213995333960206/
4.大連日本街,是文化特色,還是文化入侵?-今日頭條 https://www.toutiao.com/article/7001945460785136142/?channel=&source=search_tab
5.戰場兵不厭詐,「仁義」必然敗慘(春秋五霸故事之六)-姚錄岐-今日頭條 https://www.toutiao.com/article/7087337472878723624/?channel=&source=search_tab
6.個人足跡,折射出毛澤東時代的質樸輝煌與光榮偉大-姚錄岐-今日頭條 https://www.toutiao.com/article/7094890525685187084/?channel=&source=search_tab
(8).姚錄岐與民盟:從整體來說,民盟組織是暖心的;從大多數來說,民盟成員是優秀的;從個人經歷來說,民盟交往是一個人一生幸福的回憶,下面是我40年盟齡的老盟員的幸福回憶:
1.中國民主同盟 https://www.mmzy.org.cn/mmfc/1185/13204.aspx
2.黨盟合作80年,風雨同舟永向前--姚錄岐_城市信息港_巨中成加盟網 https://www.jzcjmw.com/citynews/220915857.htm
3.智力服務無尚光榮,民盟工作成就人生-今日頭條 https://www.toutiao.com/article/7019841854300652070/?channel=&source=search_tab
4.民盟生日,熱烈慶賀;今日頭條,成就人生-姚錄岐-今日頭條 https://www.toutiao.com/article/7076632002984002063/?channel=&source=search_tab
5.王光永同志與國寶何尊-今日頭條 https://www.toutiao.com/article/7002755839467569676/?channel=&source=search_tab
6.記廣告語征集界拓荒者姚錄岐-廣告語征集界現狀分析-王凡.李國強-今日頭條 https://www.toutiao.com/article/7001579583799689739/?channel=&source=search_tab
(9).退休老人摯愛寶雞開放大學
1.年年歡度重陽節,感謝黨恩顯精彩-姚錄岐 http://www.360doc.com/content/22/0930/08/59259542_1049870664.shtml
2.黨盟合作十二年,電大教育譜新篇--姚錄岐 http://www.360doc.com/content/21/0322/08/59259542_968220678.shtml
3.電大更名開大,轉型形勢喜人-姚錄岐 http://www.360doc.com/content/22/0531/16/59259542_1033981111.shtml
4.寶雞開放大學:開放辦學 面向社會全體實施終身教育|大學|學歷|寶雞|教學|教育_手機網易網 https://3g.163.com/local/article/HFP1IMRN041999R3.html?referFrom=
5.參加寶雞電大重陽節敬老活動有感 - 鵬城家事 - 深圳論壇 https://szbbsapp.sznews.com/forum.php?mobile=0&mod=viewthread&tid=4100767
(10).宣傳寶雞引發熱議的幾篇網文:
1.寶雞【疫】線同心,抗【疫】愛有溫度-姚錄岐 http://www.360doc.com/content/22/0324/05/59259542_1023031999.shtml
2.青銅器博物館哪里最大?有形的無形的神奇無比-今日頭條 https://www.toutiao.com/article/7046125118510105100/?channel=&source=search_tab
3.關于宣傳寶雞文物的建議 http://wwj.baoji.gov.cn/jact/front/mailpubdetail.do?transactId=312768&sysid=222
4.扶風縣人民政府 縣長信箱 為了失去的紀念-姚錄岐-今日頭條 http://www.fufeng.gov.cn/jact/front/mailpubdetail.do?sysid=704&transactId=315296
5.公交宣傳周,寶雞瞥一幕--姚錄岐 http://www.360doc.com/content/22/0926/06/59259542_1049361915.shtml
(十一).目前引發熱議的幾篇網文:
1.學習毛主席歷史觀點,肯定秦始皇歷史功績-姚錄岐-今日頭條 https://www.toutiao.com/article/7144213995333960206/
2.吃水不忘挖井人,國慶倍思毛主席-姚錄岐-今日頭條 https://www.toutiao.com/article/7150066440958198309/
3.五十.六十.七十年代的青年,青春記憶是什么?-今日頭條 https://www.toutiao.com/article/7054298986370318856/?channel=&source=search_tab
4.對銀行服務工作的一點建議-非著名網文作者姚錄岐-今日頭條 https://www.toutiao.com/article/7170564730657800739/
5.《二舅》倍受熱捧,原因發人深省-姚錄岐-今日頭條 https://www.toutiao.com/article/7124986511761785374/?channel=&source=search_tab
6.頭條號《大衣哥新兒媳疑是退婚》 https://mp.toutiao.com/profile_v4/wenda/answer?qid=7166171530283122955&group_id=7167195437194068227&enter_from=&category_name=article_manage&stick_id=7167195437194068227
7.關于俄烏戰爭引發國際形勢巨變的預測-姚錄岐-今日頭條 https://www.toutiao.com/article/7128708723710657057/
8.戴笠孫子在面臨被判死刑之際,說了一句什么話順利完成了自我救贖-今日頭條 https://www.toutiao.com/article/7113100263539409446/
9.司馬莫言之辯,民心民意再現 姚錄岐-今日頭條 https://www.toutiao.com/article/7151927631859040806/
10.《人世間》,給了我們做父母的什么啟發? - 非著名網文作者姚錄岐(提問者)的回答 - 頭條問答 https://www.toutiao.com/answer/7063637228551110915/
11.暖氣停供收費引發熱議(之二)-姚錄岐-今日頭條 https://www.toutiao.com/article/7150822400416842281/
12.老年人怎樣做,才能越活越快樂!-姚錄岐-今日頭條 https://www.toutiao.com/article/7101592655502541324/?&source=m_redirect
12.年輕人是否知道,打倒你的敵人是誰,如何防范(內卷)?-姚錄岐-今日頭條 https://www.toutiao.com/article/7137966919646528034/?channel=&source=search_tab)
PHP的程序員是如何看待自己所學的PHP?
PHP程序員跟其他語言開發者并沒有什么不一樣,都是程序員,唯一的不同可能就是我這個PHP程序員長的比較帥,哈哈
PHP前期上手可能稍微快一些,如果有學習C和Perl的很容易上手,并且跟ASP有部分類似
目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶
做PHP的基本上都會講PHP是世界上最好的腳本語言,沒有之一
想要進階學習PHP,或者從零基礎開始學習PHP入行的同學,都可以先關注我頭條號獲取學習教程,然后私信我關鍵詞:PHP
PHP前景還是可以的,在一線城市薪資都能達到15K-35K,后面還有很大提升空間,如果你想要自己接項目做更加可以每月增加將近萬把塊的收入
獲取學習教程的方法一個評論一個名額,在文章底部的評論區留下你們的評論并且轉發哦,這個就不用多說了,來過PHP架構師之路的都知道!
1. 首先在頭條右上角點擊關注,關注PHP架構師之路
2、評論后私信關鍵詞:PHP 或者 php
如果你覺得有不同意見的就可以在底部留下你的看法哦
為什么php不適合做計算密集型業務?
PHP即“超文本預處理器”,是一種通用開源腳本語言。PHP是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利于學習,使用廣泛,主要適用于Web開發領域。
1.優點:開源 免費性 快捷性 [程序開發快,運行快,技術本身學習快]
1)跨平臺,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,并且和很多免費的平臺結合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數據庫。(N >= 10)
2)語法簡單,如果有學習C和Perl的很容易上手,并且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺下可以使用Eclipse等等。
3)目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4)有比較完整的支持,比如使用ADODB或者PEAR::DB做數據庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問數據庫。
5)有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6)PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7)有成熟的社區來支持PHP的開發。
8)目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9)有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
10)使用成本低 (linux apache mysql php內核)
2.缺點
1)函數命名不規范 駝峰法和下滑線,傳參位置不一 你知道的
2)單線程 ; PHP本身,一直以來php就是個單進程的程序;雖然php的pthreads擴展早就有了。但是它不夠穩定,運行運行著就會莫名其妙的自己掛掉;php的擴展都是C寫的,這也就意味著任何一個擴展出現線程競爭資源控制問題都能讓整個掛掉
3)核心異步網絡不支持(當然在linux只有同步非阻塞網絡模型)。卻少了這個使得很難開發一個能夠承受大并發的網絡應用。傳統的網絡模型和io都阻塞的。這樣基本的編程的做法就是一個進程(或者線程)響應一個用戶鏈接請求。因此無法完成像實時網游那樣需要成千上萬網絡連接的任務。盡管php也有Libevent、eio擴展對此算是某種程度上面的彌補,但是感覺都不是那么完善
4)只支持web開發,不方便做 .exe文件,不方便做桌面應用程序. 不方便做手機程序.
5)不適合做爬蟲、自動運行腳本.科學運算項目,這語言基本構架就不適合,雖然有很多方法實現。
6)后期維護困難。后期提速空間局限性較大。
在對PHP有一個大致的認識以后,我們來了解一下為什么說PHP慢?
PHP的慢是相對于C/C++級別的語言來說,事實上,PHP語言最初的設計,就不是用來解決計算密集型的應用場景。我們可以這樣粗略理解為,PHP為了提升開發效率,而犧牲了執行效率。
我們知道PHP一個很大的特點,就是弱類型特性,也就是說,我可以隨意定義一個變量,然后給它隨意賦值為各種類型的數據。以一個int整型數字為例子,在C語言中:
int num = 200; // 通常是4字節
但是,如果是PHP定義了一個同樣的變量,實際對應的存儲結構則是:
這個結構體將會占據遠比C變量多得多的內存,PHP中定義方式如下:
$a = 200; //這變量將實際占用對比C變量很多倍的存儲空間。
其實對PHP來說,無論存儲什么類型的數據,都是用上述“通殺”的結構體實現。為了兼容PHP程序員的變量類型“亂入”,PHP做到了對開發者的友好,但是對執行引擎很殘酷。單個變量內存消耗可能還不明顯,一旦用到PHP的數組等,則復雜度指數上升(數組的實現是HashTable)。然后,Zend引擎執行時,將這些PHP代碼編譯為opcode(PHP的中間字節碼,格式有點類似于匯編),由Zend引擎逐行解釋執行。
無論是字符串的連接操作,還是數組的簡單修改等,幾乎都是“PHP程序員一句話,Zend引擎跑斷腿”的節奏。因此,同樣的操作,對比C來說,PHP消耗了更多的CPU和內存等系統資源。除此之外,還有內存自動回收、變量類型判斷等等,都會增加系統資源的消耗。
例如,我用純PHP實現的快速排序函數和原生sort函數,排序10000個整型數字,來做一個耗時對比,結果如下:
原生的sort耗時3.44 ms,而我們自己實現的PHP函數sort則是68.79 ms。我們發現,兩者執行效率差距巨大。我的測試方式,是計算函數執行前后的時間間隔,而不是整個PHP腳本從啟動到結束的時間。PHP腳本啟動和關閉過程,本身有著一系列的初始化和清理工作,也會占據不少的耗時。
通常情況下,PHP執行效率的排行是:
最快的是PHP語言結構(isset、echo等),PHP語言的一部分(它們根本不是函數)。
然后比較快的就是PHP的原生和拓展函數。PHP拓展,基于Zend API之上,用C實現的功能,執行效率和C /Java是屬于同一個數量級的。
真正慢的就是,我們通過PHP自己寫的代碼和函數。例如,假如我們使用的比較重的純PHP實現的框架,因為框架本身的模塊很多,所以,會明顯拖累語言層面的執行效率,同時占據更多的內存。(國內的Yaf框架,以拓展的方式實現,因此執行效率遠快于純PHP寫的框架。
在一般情況下,我們并不推薦用過PHP實現邏輯復雜計算類型的功能,尤其是Web系統流量比較大的場景下。因此,PHP程序員應該對PHP的各種原生函數和各類拓展有一個比較廣泛的了解,在具體的功能實現場景中,尋求更原生的解決方案(原生接口或者拓展),而不是自己寫一堆復雜的PHP代碼來實現這類型功能。
如果有足夠的PHP拓展開發實力,將這類型業務功能重寫為一個PHP拓展,也會大幅提升代碼的執行效率。這是一個非常不錯的方式,也被廣泛應用PHP優化中。但是,自己編寫的PHP業務拓展的缺點也很明顯:
拓展開發耗時比較長,需求變更的時候修改也復雜,寫得不好可能會影響Web服務穩定性。(例如,在Apache的worker模式下,多線程場景下掛掉,會影響同一個進程下的其他正常子線程。如果是多線程的Web模式,編寫拓展還需要支持線程安全)
拓展在PHP版本升級的時候,可能需要做額外的兼容工作。
人員變動后的維護和接手成本也比較高。
實際上,在互聯網一線企業中,更常見的解決方案,并非增加PHP拓展,而用C/C 獨立寫一個服務server,然后PHP通過socket和服務server通信來完成業務處理,并不將PHP本身和業務耦合在一起。
不過,Web服務大部分的性能瓶頸都在網絡傳輸和其他服務server的耗時上(例如MySQL等),PHP執行的耗時在整體耗時的占用比例非常小,所以從業務角度來說,影響可能并不明顯。
以上就是關于php教程163以及train的優缺點的相關回答,有更多疑問可以加微。