屬於現在這個技術時代的phper進擊路線圖?
我是從php5.0開始跟過來的也算是老phper,11~13年從事2年的c語言,13年下半年回歸php,當然自認為基礎還不差,快速的就進入項目,yii1、yaf、discus、opencart等等瞬間入手。nodejs開始爆發,個人比較喜歡接觸新玩意,所以也接觸了下nodejs,不過受限於js原有的編程思維,對於npm、es6等等遲遲不能入門,僅僅是保持著一種莫名的好奇心。靜下心來,重新梳理自己的php知識,也繼續了解下當下的php技術環境,偶然之間發現了laravel(那時候laravel是4.2,5.0在準備中),自負的認為很快就能入手,狠狠被打臉。太多新知識!composer第一次聽說,route機制也不了解,外加各種設計模式(其實我對設計模式還是了解一些,只是沒想到能架構到這種程度)。總之跟之前差異很到。
這兩天跟朋友交流,paper的學習路線,於是專門來知乎上搜索了下,不乏很多經典的回答:我想問一下PHP的學習路線圖? - PHP 學習 、 學PHP最快要多久? 學習路線?要不要報培訓班? - PHP 學習 、 怎樣深入學習php,成為php高手? - PHP 但是個人對這些總是感覺有點落後(雖然說方法沒有過時之說…),有文字限制,我只能把自己的當做答案放在第一個!
拋出這些只是為了能引導出更有價值的回答,頭一次在知乎提問,先匿了!求各位大神討論!
說下我自己的思路:
基礎篇:
1、php基礎語法(這個入任何語言必須,推薦下php最佳實踐:PHP 之道)
2、基礎工具:php內置伺服器、composer、mysql/MariaDB/sqlite(我並不期望一開始引入linux、nginx/apache等這些,實際上資料庫選擇sqlite最好)
3、基本的html、js、css,至少能輔助你學習php嘛
4、基礎http:前後端生命周期、session、cookie等等(理解前端後端,這個真是太基礎了,太多初學者不理解這些)
提高篇:
1、學習linux、nginx/apache、mysql等等
2、學習使用部分框架,注意每個框架都有自己的特色,不要關心別人爭吵哪個框架好與不好,而是理解它的好,比如yaf、yii2、laravel這三個,差別還是很大,你上手一個不代表能快速學習第二個,但這都是非常流行的框架,都有很多好的設計,其實我理解主要是學習裡面的各種設計模式;
3、提高你的js能力(這裡沒有html和css哦)
4、擴展你的知識面:Redis/Memcached等等
5、玩玩擴展,比如讀讀yaf源碼,swoole也試著用下
再往後就靠自己吧
瀉藥,,,
基本語法
編碼技巧,編碼規範各類函數各類PHP模塊學習一款cms或二次開發了解PDO,ADO、數據驅動層、順路去學下mysql報錯機制
面向對象使用一款框架幫助開發魔術方法設計模式反射動手寫各類工具類、驅動。自己寫一款小框架(說實話,你沒這麼多精力去寫的,要面面俱到,了解很多泛面知識)你已經是個中高級程序員了。開始折騰PHP的運行原理和內核機制吧
試著寫一些php的C擴展幫助你的項目
這個時候,就強烈建議你去學一門強類型語言如JAVA。
對比不同和優缺點。著手了解伺服器方面吧
作者:phpdragon鏈接:怎麼學好php,現在學的好盲目,不知道該學什麼,如何學習? - 知乎用戶的回答來源:知乎著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。npm+node.js半個星期就可以入門吧
謝邀……然而我覺得我寫PHP還沒題主久……
這個不是應該邀請鳥哥來答嗎……雖然他是寫C的……233
以下個人看法:PHP的基礎語法很簡單,剩下的就是 編程思想的部分了……
比如 面向過程/函數式編程/面向對象 , 設計模式 , 依賴注入 BALABALA的……當然,也包括各種優化手段:緩存啊、資料庫啊、多線程啊、非同步啊 BALABALA的……大體上分為兩部分: 1. 通過代碼本身的修正,來降低 開發/維護/運行 成本 ……2. 通過引入其他組件 , 來降低 開發/維護/運行 成本 ……而 2 又引出了,如何使用 其他組件,如何 降低使用其他組件的 開發/維護/運行 成本……那麼 php的 技術進擊路線圖 , 也就是根據這兩種發展路線進行擴展了……當然,其中有相當的部分是交織在一起的……
比如 pdo/memcache啊 之類的php擴展, 雖然屬於 其他組件,但是也屬於php代碼本身的一部分。不過,我想 我們還是 可以根據其特點,總結出 遠近關係的……個人看法,如果不是想要成為全棧工程師。那麼對較遠的部分 熟悉就好,
而更應該專註於 php自身的東西, 由近及遠 , 循環上升的方式 來學習php……一點兒個人淺見……望指點~_~我主要是通過不停的看 http://PHP.net 來紮實基礎,裡面有很多有價值的玩意,尤其是評論區,個人認為這是比任何 PHP 書籍都強的東西。 時不時的看一下,一直到會背為止,我大概看了 10 幾遍吧。
接下來就是看看簡單的程序,試著寫點小工具,練練寫作水平。
接下來就已經是語言無關的東西了,martinfowler 的博文、設計模式之類的東西爬一爬,看看基本的代碼的東西。PHPunit(php 事實上的測試標準)熟練掌握。爬 Github 看看比較流行的寫法或工具,比如都用 travis ci 持續集成, 都用 php_cs 進行代碼標準的格式化。
這個時候都弄的差不多了,可以複習 PHP 基礎了,試著找找 PHP 語言層面比較特殊,又討巧的設計,在編程時候的應用,比如各種強大的魔術方法能節省的代碼量, trait 的語法糖。
然後開始強化 PHP 語言中自帶的,能夠顯著提高你寫作速度的類, 必須掌握的是 PHP 標準庫(SPL)裡面那十幾個類,迭代器的應用頻率實在太高。
然後就可以開始試著做個 PHP 程序員了,這個時候能保證你用 Laravel 也比較順心。題主,可以去看下這邊Modern PHP,Modern PHP(中文版) (豆瓣)這本書很薄,大概幾個小時就可以看完了,可以對最新的一些PHP相關概念有一個大致的了解。
同問,已經有幾年Java開發經驗的怎麼轉php?
我現在的php學習的路徑是
php基礎語法知識php面向對象知識(這個由於Java里用爛了,所以基本是跳著學)php環境搭建,win ,Linux,套裝和非套裝。Linux系統
MySQLPHP高級特性php底層thinkphp 框架smarty 模板框架RedisWeb應用安全php性能優化HTML5bootstrap
jQuery不知道這條路對不對目前做過的練習就是用PHP做了個微信公眾號後台。你需要的是深入,無論node還是php。看你說npm不能入門,感覺題主應該加強執行力改進學習方法。。至於路線,上面的人已經回答的很好了
推薦閱讀:
※國內C源碼PHP框架選擇與評價 Yaf Yar Swoole workerman?
※如何滿足PHP源代碼加密和混淆的需求?
※如何看待 swoole 作者最近修改開源協議?
※Magento從架構上來說,主流的評價如何?
※Apache是否優於Nginx?