一名合格的PHP工程師的知識結構是怎樣的?

來源:互聯網
上載者:User

回複內容:

1.掌握語言本身的文法,熟悉常用類庫是必須的;
2.物件導向最為當今的主流也是必須掌握的;
3.常用設計模式必須掌握,設計模式是前輩的總結、經驗;
4.php常與資料庫配合使用,而且首先為mysql,所以mysql必須熟悉;
5.php是做為一種web開發語言而流行的,所以瀏覽器中的javascript必須會,雖然現在很多公司有專業的javascript工程師,但是php程式員js也是必須掌握的;
6.html/css必須會,不要求你會切會div+css,但是至少要知道,因為php是一種嵌入html中使用的語言(當然php也可以用於案頭等其他,但是和web(html)結合才是它流行的原因);
7.linux不需要會,會的話肯定更好,一般公司都有專門伺服器管理員的。但是你要會在vi下進行編程,這時候就不像在ide下那麼好了,你應該盡量熟悉類庫。

其實以上的7點都很針對於web開發,需要掌握的知識,其實是和語言本身沒什麼關係的,應該說 和做的項目有很大的關係,就假如要你用php寫一個web作業系統,這樣作業系統的設計思想你是要知道的吧。語言只是一個工具, 大學4年的課程,也就是知識結構了,與語言沒什麼關係。作為做了幾年php開發的程式員我說下個人的看法:

1 如果是程式員的話,不管你是ruby、python、java、.net、c、c++,還是php,你可能都需要學習這些語言的基本知識,這個語言的函數庫,或者是類庫,那是越熟悉越好
2 對於web應用開發的程式員,你肯定要熟悉資料庫和sql編程,那肯定是越熟悉越好,而且對於javascript和css也是如此,越熟悉越好
3 對於資料庫和伺服器的配置,這不應該是你需要花很多精力的地方,因為這是營運人員的工作,如果某個公司對這個有要求,那他們估計就沒有營運人員,這些東西很繁瑣,而且需要實踐,所以建議不要花太多的實踐在這上面,瞭解就可以
4 對於設計模式也是瞭解為主,你可能會用到設計模式的地方很少,而且如果你真正對編程有感覺了,一段時間的實踐之後你自然知道怎麼用,哪些總是喜歡把設計模式、編程思想掛在嘴邊的基本都是沒畢業的
5 如果可以的話,我建議使用linux系統,學習Vim,並且學習apache,php,mysql的編譯,不過如果你堅持用linux系統的話,那你肯定會試著自己編譯這些東西的
6 多看php手冊,學好英文,有什麼問題首先看手冊
7 學習敏捷開發,學習使用PHPUnit、SimpleTest這些工具寫單元測試,並且在實際的項目中使用
8 如果要深入點的話,學習PHP擴充的開發,也許你可能不會開發擴充,但如果你瞭解了如果開發一個擴充,你就會知道PHP並不是想很多說的那麼簡單
9 學習並使用PHP的架構,如果你用了某個架構1-2年,那就試著去看下它的原始碼,並試著理解那些代碼,如果可以的話試著自己開發一個架構
10 所有程式語言都說用來解決具體的問題的,語言很重要,學好用好一門語言並不是一天兩天的事,不要相信哪些給你兜售編程思想的人,思想是在實踐中積累的,而不是看了書學了別人的思想就會了,然後就什麼都可以寫了
11 學習演算法,鍛煉思維其實phper也是分前端和後端的, 面向前端PHPer需要掌握的知識
  1. div+css這個不一定要去精通,但是要熟悉和掌握
  2. js這個也是要掌握的,尤其是jquery架構,目前很主流,一些頁面特效或者與PHP互動的ajax效果經常要使用到
  3. php這個文法基礎和類庫要熟練掌握,php手冊可以經常翻閱一下,php模板引擎,php架構都是需要。
  4. php對mysql的常見操作和最佳化也是必須的
面向後端的PHPer:
  1. lamp環境自己要會配置,一些websever配置要懂得,常用的linux命令和一些簡單的shell指令碼要回寫
  2. 不僅要理解mysql的工作原理,一些基於mysql源碼級的最佳化也需要掌握了
  3. java或c的語言基礎可能也需要一些,php並不能解決所有問題,當phphold不住的時候可以考慮在websever上做一些必要模組開發,或者利用os資源,例如GD類庫處理映像效能並不一定很好,完全可以使用 ImageMagick來嘗試一下
  4. php源碼和mysql源碼都是有必須要研究的

1)、對電腦的理論需要有基本的瞭解, 對資料結構知識要熟練掌握。理解各種資料結構的特徵,應用情境。能夠和具體的工作聯絡起來。

2)、熟練掌握PHP文法,熟悉常用類庫,對字串庫、正則庫必須熟練掌握。

3)、理解、掌握常用設計模式,最好能研讀一些通用的架構源碼。

4)、對前端和後端知識都需要瞭解。掌握前端div+css+js,尤其是jquery架構。

5)、掌握php對mysql,memcache的常見操作和最佳化。

6)、熟悉常用的linux命令,能夠寫一些簡單的shell指令碼。


來自:Avazu Holding劉冉冉

http://blog.goody365.com/lamp/Lamp%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E6%8A%80%E8%83%BD%E8%A1%A8v0.html 我按照重要性列舉一下:
1.設計思想:程式設計語言沒有好壞之分,重要的是你的思想 (小孩和成人手裡拿筆畫出的東西肯定不同,對畫出的畫解釋也不同)。思想的知識構成:
1> 資料結構、設計模式等( 其實每種資料結構和設計模式就是種設計思想 )
2>《java編程思想》,也可以對比一下yii、ci、zend架構各自的優點和缺點,吸取設計思想
3> 每種設計思想裡面操作的對象可能是一種資料結構、memcache的key、資料庫db/table/field、div、ip、idc等等
2.篩選工具:帶著思想去篩選工具。
1>你需要php提供一個函數去檢測單態模式,就需要自己學習c寫個擴充
2>你需要用php查詢資料庫就學習mysql和pdo相關
3>你需要在頁面調試php又覺得輸出出來的資料格式不好看,就去學習html+css+div
4>memcache、nginx、apache同理個人自從學習了rails之後,對php的應用水平大幅提升1 http協議
2 緩衝 與資料庫
3 php記憶體配置原理
4 scoket編程
5 伺服器配置與伺服器管理。
6 演算法與資料結構
7 sql 效能分析與最佳化
8 系統容災、高負載設計
  1. PHP語言
  2. HTTP協議
  3. HTML
  4. SQL(MySQL)
  5. 伺服器(Apache/Nginx)
  6. 緩衝(Redis,Memcache)
  7. 測試載入器(ab,...)
招聘網站的招聘要求。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.