主要從兩個方面發表一下個人看法:
行業變遷
最近兩年,我們耳熟能詳的技術熱詞比如:雲計算、machine learning、TensorFlow、AI……,基本與PHP都沒太大的關系,再比如:(自然語言處理)NLP、(物聯網)IoT、big data、區塊鏈(blockchain)……,也基本和PHP沒太大的關系;難道說PHP技術不行了?那倒也不是,其根本原因在於技術發展日新月異,開發語言也愈加細分,golang主要用於雲計算、python主要用於神經網路與深度學習、大數據與數據可視化分析有R語言,反觀PHP,似乎除了web、及部分APP後端開發,其他專業技術領域有點力不從心,盡管它也在一直尋求新的爆發點。
語言特性
在web開發不甚成熟的時代,PHP以其「開發周期短」、「技術門檻低」的優勢吸引了一大批開發人員加入,雖然項目可以很快推上線,但由於「弱類型解釋語言」的基因缺陷,在性能優化大行其道的今天,PHP需要補足這一先天缺陷(從PHP5~PHP7就可以看出),這也給很多其他開發語言趁勢而上的機會,比如go語言。業務量暴增需要程序能適應更高的並發訪問以及更低的延遲,go語言天生的並發編程語言特性就恰好解決這一痛點,我所參與的大部分項目都選擇go語言進行數據的雲同步。再來說說Python,同樣是動態解釋型語言,Python的技術應用場景相比PHP而言則多出不少,比如GUI程序開發、機器學習、數據抓取與分析……,一旦項目有大量數據抓取的需求,我的第一選擇肯定會是Python,因為在同等開發周期內,Python的效率與執行效果是最優的;所以總的來看,性能不及golang純粹,應用場景不如Python豐富,卻也不能否定「PHP是最好的開發語言」。我一般的技術選型如下:web後端與輕量級APP後台任務用PHP,大數據量吞吐與並發數據傳輸用golang,大數據抓取與分析用Python,我一直認為「術業有專攻」,沒有最好的語言,只有最合適的語言,如果能一槍放倒敵人就沒必要與其拼刺刀。
㈡ 我想自學php
我就是自學的PHP,並不是特別難。
主要是要多實踐,書倒沒什麼書可以推薦你的。
我給你推薦個自學方式:
【1】網路搜索w3cschool,點開裡面有PHP模塊,裡面有很多教程。
為什麼要推薦這個,因為這裡面有很多的實例,都可以自己去嘗試,非常適合入門新手去學。
【2】下載護衛神Apache大師,安裝。
為什麼不是直接叫你去自己下載PHP安裝,因為一開始環境配置這個可以先略過,使用一些傻瓜式的軟體去配置PHP環境,這樣你就不需要去操心環境什麼的。另外還有一些同類軟體比如phpStudy什麼的。但是據我個人經驗,phpStudy對初學者不是特別友好,最主要的是護衛神集成了很多版本的PHP,5.2、5.3、5.4、5.5、7.0、7.1,建站啊什麼的都很友好,非常適合初學者去配置環境,專心去寫代碼。
【3】選擇一款IDE,這個IDE種類就非常多了,我個人比較喜歡Notepad++,如果你不習慣可以自己去找一個順手的。但是這個IDE建議你選了以後就不要再去嘗試別的,因為養成一種習慣以後對後期的學習有很大幫助,各種各樣的IDE都有很多不同的功能需要慢慢去熟悉去習慣,這個後面自己慢慢體會。
【4】手機下載一款APP,「PHP函數手冊」。為什麼要手機下載呢?因為方便,可能是我個人愛好,但是我覺得自學就是得充分利用零碎時間去熟悉函數的,我個人感覺用手機看函數是最能充分利用零碎時間的。
【5】這里需要注意一點,護衛神是挺方便, 但是不推薦在伺服器上使用這樣的一鍵式環境配置軟體。切記,尤其是生產類伺服器上,倒不是擔心軟體內部會有什麼問題。畢竟是一款一鍵式集成環境的,用的人多了,就有很多不懷好意的傢伙專門研究這個配置完會存在什麼樣的問題,雖然像護衛神安裝完會使用隨機密碼配置你的FTP、MySQL等。但是像PHP/Apache/MySQL的配置ini還是雷同的,很容易存在各種潛在隱患。當然,如果你覺得你完全有能力把各種危險函數一個個禁用消除潛在隱患當然可以,關鍵是你既然都非常了解了這些,還在乎自己去配置環境嗎?只是個人建議,練習和學習的時候就無所謂了。
【6】作為一個PHPer我給你再安利一下,PHP的強大是你入門的時候無法體會的,要一開始就給自己定位好具體要用PHP做什麼,如果是做網站你得同時去學習前端H5/JS/JQ/CSS等,同時無論做什麼都無法避免的要去連接資料庫,這方面你可以先考慮清楚要用什麼資料庫,雖說PHP和MYSQL是黃金搭檔,但不是說PHP就只能和MYSQL去搭配,MSSQL/Oracle等也是非常不錯的選擇, 尤其是在WINDOWS環境下開發的時候,MSSQL的體驗非常棒。當然,你要知道很多版本問題、兼容問題、驅動問題,都會是非常令人頭疼的,這方面你可以在後期需要的時候再去學,暫時就用MYSQL就可以滿足很多需求了。
我只是想告訴你一開始入門就打好web基礎,畢竟那麼多人說PHP去做別的都是「不務正業」的,那麼掌握PHP的「正業」是非常重要的。
等入門基礎打好了,開始練習面向對象編程,開始使用一些框架、使用一些優秀的PHP類庫和DLL拓展。後期就看興趣了,如果願意可以去試著自己寫DLL或者嘗試調用其他系統外部程序拓展,甚至桌面級程序的開發、深度學習等等。掌握好PHP,你會發現你僅僅是打開了一扇大門,另一個世界等著你探索,加油吧小夥子。
㈢ 為什麼都要鄙視 PHP
其實程序員大都有一個通病,尤其是有經驗的,他認為自己用的開發語言和開發工具是最具優勢的,同時他們認為其它開發語言和開發工具是有眾多缺點的,就連同一種開發語言,同一種開發工具,不同的開發模式,他們也通常會認為自己方式優點居多,其實只是因為自己已經習慣了這種形式,同時通過長期開發,對自己的底層架構做了較優的處理,所以對於自身來講,他用自己的東西更方便更有優勢,不過也不得不說另外一個情況,PHP和ASP這類開發語言入門門檻較低,雖說做精做優不易,但是初級上手卻是很快的,也就造成一些初級入門的程序員出來的東西可能確實會遭人鄙視,但是我認為能因此而直接鄙視這門開發語言的也有些過於片面,放眼來看,目前網站、WEB系統以及WAP程序開發等,還是PHP居多,不得不說,PHP高手雖說不多,但是如果你遇見過,你只會有佩服
㈣ Python會取代PHP嗎 都是腳本語言,但是Python更簡潔。
PHP不會被python取代。
都是腳本語言沒錯,但是:
首先,語法邏輯不一樣,語法邏輯會使得一個語言的風格和走向不一樣。PHP比較簡單,可以嵌入html,等等這些東西都決定了PHP是簡單路線。python語法格式比較嚴格,連標點符號和空格都嚴格要求,這導致了python用來做深入和復雜的東西。
其次,兩者的定位也不一樣。現在被使用的地方,PHP主要被用來做網站;python主要做爬蟲和深度學習演算法等。雖然兩者的用處可以互換,可是一般來說,擅長的東西不做而去做不擅長的東西這是性能方面和擴展都不能得到充足的發展。
另外,兩者的版本兼容問題,PHP是基本繼承和沿襲版本,對舊版本和新版本兼容比較融洽,不會有5版本是7版本這樣一個版本級別差別不兼容的問題,向下兼容好。而python2和python3就有很大區別,3不能向下兼容2,這是因為改了引擎的問題,這也是一個致命的問題。
最後,現在也有PHP深度學習的框架、爬蟲等的出現;python現在也有做網站的。雖然是這樣,但是PHP累積的網站系統和框架不可能拋棄不用而去使用python開發;python累積的各種復雜操作的框架不可能拋棄不用而去使用PHP新出的框架。他們恰巧不是為了打壓對方,而是讓使用自己語言的開發人員,希望走該方向的能夠有個更容易上手的一個選擇。
在後面很長的時間內,PHP和python都不會被互相取代。
㈤ 學習深度學習php基礎可以嗎
可以學習,但建議直接學習深度學習的相關理論知識,然後使用一定的軟體來完成實踐練習。
㈥ PHP高級工程師應具備哪些條件
建議在以下三個層次做深入學習:
第一個層次是PHP技術的深度學習:如PHP字元串、數組、文件和PHP的高級特性以及PHP運行原理等;
第二個層次是Web技術的深度拓展:如深入Http協議、Linux技術、Web伺服器技術、前端JS技術、MySQL和NoSQL技術等;
第三個層次是編程思想和能力的拓展:如數據結構和演算法設計、設計模式、好代碼的原則和技巧、大規模網站開發技術等。
㈦ 真傳X的「3個月轉型深度學習中級工程師」課程看起來很高大上,PHP開發一年多的我能學得會嗎
人工智慧AI是目前最火也是最有發展前景的領域,成為一名深度學習工程師可以很好的切入。但是相對來說,學習門檻比較高。真傳X的深度學習課程是以項目帶動從基礎到進階,目的是「培優」,對入學者有著一套考核機制。像你做過開發,可以去交流測試一下。祝你好運!
㈧ 有必要深入研究 PHP 源碼嗎有哪些好的方法
這個,向上進階會遇到這個問題的,樓主在向上深度學習php的話,建議先讀那些php框架的源代碼,很多都是開源的,他們的設計思想很好,例如CI,laravel,等,最後高級階段在讀php源碼,這樣有個漸進的過程。