1. 程式人生 > >[PHP]程式設計師技能棧

[PHP]程式設計師技能棧

PHP程式設計師技能站

摘要:創業不息、折騰不止,今年跟朋友又折騰了一個新專案:Color公寓。線上產品主要是一個線上網站,所以不得不把技術棧切換到網站開發模式。通過最近一段時間alpha版本的開發,對於PHP開發有一個全面而粗淺的瞭解。又因為面試需要,在這裡做一下總結。

寫在前面

當我們談到PHP開發,我們其實是在談論網站資料庫快取session負載均衡等等等等一些列複雜技術的集合。所以,PHP的技能站也比一般得要長很多。

PHP基礎

在這裡,你需要了解的是:

  1. 在各個平臺安裝php並用php內建的web伺服器成功的見到“Hello PHP”介面。
  2. PHP函數語言程式設計語法,面向物件語法,名稱空間。
  3. PHP標準庫的熟悉。
  4. 除錯工具:起碼要知道xdebug的使用方法。
  5. 依賴包管理工具的安裝、使用、原理,最常用的:composer,pear。
  6. 語法效能及原理:
    1. 萬能的array。用法、實現原理、使用注意事項。(關鍵字:Hash Table)。
    2. 字串連結的效率。
    3. 弱型別的實現原理。(關鍵字:zval)
  7. Http協議,Get/Post請求的不同。

PHP原理

設計理念及特點

  1. 多執行緒模型,請求獨立。
  2. 弱型別語言。
  3. 引擎(Zend)+元件(ext)的組合模式。

PHP四層體系

  1. Zend引擎
    :Zend整體用純C實現,是PHP的核心部分,它將PHP程式碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理並實現相應的處理方法、實現了基本的資料結構(如hashtable、oo)、記憶體分配及管理、提供了相應的api方法供外部呼叫,是一切的核心,所有的外圍功能均圍繞Zend實現。
  2. Extensions:圍繞著Zend引擎,extensions通過元件式的方式提供各種基礎服務,我們常見的各種內建函式(如array系列)、標準庫等都是通過extension來實現,使用者也可以根據需要實現自己的extension以達到功能擴充套件、效能優化等目的(如貼吧正在使用的PHP中間層、富文字解析就是extension的典型應用)。
  3. Sapi:Sapi全稱是Server Application Programming Interface,也就是服務端應用程式設計介面,Sapi通過一系列鉤子函式,使得PHP可以和外圍互動資料,這是PHP非常優雅和成功的一個設計,通過sapi成功的將PHP本身和上層應用解耦隔離,PHP可以不再考慮如何針對不同應用進行相容,而應用本身也可以針對自己的特點實現不同的處理方式。
  4. 上層應用:這就是我們平時編寫的PHP程式,通過不同的sapi方式得到各種各樣的應用模式,如通過webserver實現web應用、在命令列下以指令碼方式執行等等。

MVC 框架

  1. MVC理論。
  2. PHP模板。
  3. 常見的開源MVC框架,至少對其中一種有深入研究。

OOP、設計模式、重構

  1. 面向物件程式設計的基礎:繼承、封裝、多型。
  2. 常見的設計模式及應用場景。參考
  3. 對程式碼的壞味道有敏銳的嗅覺,掌握基本的重構方法。

Web前端技能

  1. HTML/CSS/JavaScript 基礎。
  2. 快取,Cookie,Session原理和使用。

MySQL資料庫技能

  1. MySQL安裝和配置
  2. MySQL增刪改查基本語法
  3. 資料庫設計原則和常見的技巧
  4. MySQL效能診斷和優化
  5. 分散式資料庫設計、資料庫備份和恢復

伺服器架設

  1. Linux常用命令。
  2. dns,cdn,快取,頻寬等資源的合理利用。
  3. nginx,apache安裝和配置。
  4. 圖床的架設。(關鍵字:EvaCloudImage)

引用

廣告

好吧,下面是廣告時間:

【Color國際青年公寓】是麥芒資產旗下的主打專案,一個面向租房市場的O2O專案。 簡單來說:就是將現有出租房統一包裝之後再分租給客戶,統一規範管理;然後利用租客的天然流量優勢,打造更加豐富的O2O生活閉環。面向群體是中等以上收入的年輕人。
我們的創始團隊來自於阿里巴巴、美國雅虎、完美世界、魅族等一線企業,線下也有10多年地產中介經驗的人才加盟。核心創始人已多次創業。
豐富的創業經驗,千萬級的天使融資,為您的未來提供了更有力的保證!
只要您認同我們的文化,有捨我其誰的自信,就果斷向我們砸簡歷吧:[email protected],待遇絕對超過BAT。 詳情見:Color國際青年公寓