首頁 >後端開發 >php教程 >如何成為專業的PHP開發者

如何成為專業的PHP開發者

WBOY
WBOY原創
2016-07-25 08:46:281138瀏覽

如何才能成為專業的php開發者?資深web開發者Bruno Skvorc在其部落格上分享了一些心得。

如何成為專業的PHP開發者

當閱讀各種和PHP相關的部落格、Quora問題、Google 社群、資訊和雜誌的時候,Bruno Skvorc注意到討論的問題出現了兩極分化的現象。例如“我如何連接到一個mysql資料庫?”,或者是“在不增加伺服器的前提下,我如何使得郵件系統能夠每小時發送超過一百萬份電子郵件?”

Bruno Skvorc根據PHP的使用能力將應用者分為四類:初級、中級、專業和精英

兩極

在PHP語言中,初級使用者會用一些變數、includes、表單處理,等等。還會學一些簡單的邏輯結構。借助教程他們能用PHP發郵件,甚至他們可能接觸到一些物件導向程式設計的例子,當然他們不一定理解背後的原理。他們使用WordPress,修改一些CSS類別。他們憑著這些知識去申請工作,然後很不幸地被拒絕了。

PHP專業用戶能讓許多專案煥發生機。他們使用眾多框架開發商業應用,有效率地使用各種不同的資料庫,參加各種研討會,學習各種設計模式,輕鬆地開發出一個完整的專案——從流程設計到最後運行。他們早已不再使用過程式設計範式了。

精英程式設計師就是傳說中經過10000 小時磨練的專業人士,自己編寫擴充功能來擴充自己部署的PHP的功能,只要粗略地瀏覽一下原始檔就能抓出bug,對程式碼佈局極為講究,只認可極為複雜的項目,在別人還沒察覺之前就找到解決問題的創造性的替代方案。他們也會寫一些暢銷的關於PHP語言的書籍,在大量研討會上發言,甚至創建一個屬於自己的PHP分支或一兩個非常成功的框架。

那麼,那些中級用戶在哪裡?

缺失的一環

一個程式設計師如何從初級升到專業級甚至更高?如果一個人只會基礎的程式設計知識,他如何提升自己的技能,捨棄糟糕的實踐,使用高階的方式實踐呢?初學者常問Bruno Skvorc這個問題。要成為一個專業的程式設計師,首先要成為一個中級php程式設計師。

接下來的清單指出了流暢地使用PHP需要注意的一些方面:

放棄義大利麵式程式碼

很多人認為使用類別意味著是在寫物件導向的程式碼,而使用函數就代表是寫過程式碼。大錯特錯!讓我們複習一下廣義的定義:過程式碼就是不使用類別和物件的程式碼,物件導向的程式碼就是盡可能地使用類別和物件。

Bruno Skvorc的建議是完全放棄過程式碼。盡可能採用物件導向風格——編寫類別,封裝邏輯,考慮真實世界的術語。考慮到可重複使用性,過程式碼相對於基於類別的程式碼的效能優勢微不足道。適當的OOP程式碼可以讓未來的開發者接手你的專案。通常人們會這麼反駁:「但是,WordPress可是過程式的!」老實說(也許不好聽),如果WordPress的開發者是PHP開發者的話,那Instagram的開發者可就是攝影師了。這並不意味著WP沒什麼用——對於部落格、簡單的網站和一天專案而言,WP很棒。用WP能很快地賺些小錢,對不太懂技術的用戶而言也很好用。但精通WP絕不代表你是專業的PHP開發者──那就是一堆義大利麵一樣的程式碼,那些程式碼可沒辦法教你合理的設計原則。

從小事做起。思考現實世界的概念,試著用物件導向的程式碼表達它們。學習一些基本的教程,再慢慢往進階方向發展。練習物件導向程式設計直到你真正理解類別。在此之前,不要急著學習各種框架,以及 MVC 之類的抽象術語。

鑽研現有項目

不管你在哪裡看到的原始碼,都要仔細鑽研。例如,在Github裡查找PHP項目,克隆下來,部署在自己的機器上,嘗試加以修改。一個文件接著一個文件,一行程式碼接著一行程式碼,直到你真正理解它們的意義。

學習建構的PHP環境

建立PHP環境也是一項寶貴的技能。這不僅允許你調整優化自己的配置,還可以讓你熟悉如何透過原始碼建立插件。

別用Windows開發-如果你的主要桌面是Windows,你需要安裝一個虛擬機器軟體,然後執行一個Linux虛擬機器-Windows的大小寫敏感,行結尾,和大多數伺服器環境不同的怪異之處,都會造成你麻煩。所以最好在一個和伺服器相似的環境下開發。

虛擬機器也有利於實驗-如果出現了問題,你可以重新開始或回滾一下。你也可以盡情實驗,不用擔心把一切搞砸。掌握工具的使用方法是很重要的,但有一個好的工作平台也同樣重要。

用自己搭建的環境做實驗也可以讓你熟悉不同的伺服器-該用Nginx還是Apache,或是使用Appserver,等等。

儘早應用最佳實踐

在寫自己程式碼的時候,要確保詳細註解、完美縮排、仔細架構。在建立一個類別、專案和程式庫之後,使用知名的文檔工具(PHPDocumentor、ApiGen)來提取文檔,並在此基礎上加以改進。

一個好的IDE是很寶貴的,熟悉一個跨平台的編輯器有利於你在架設新環境後馬上進入代碼,而不是把時間浪費在設置鍵盤快捷鍵和主題上。確保你將IDE設定檔保存在雲端,(例如Google Drive),這樣即使你新安裝了系統,你也可以很方便地匯入它們。 Bruno Skvorc推薦PHPStorm和Netbeans這兩個跨平台的IDE,後者是免費的。

早一點適應最佳實踐能夠幫助你在專案過程裡保持一致,更有助於別人流利地閱讀你的程式碼。找到你的風格並堅持下去——這對你自己和別人都有好處。盡可能嚴格遵循PSR標準(PSR-0、PSR-1、PSR-2、PSR-3)。標準可不是徒有虛名。大部分人遵循這些標準,喜愛這些標準,因為它們增加了每個人的程式碼的可重複使用性和可讀性。

對於初學者來說,PHP之道是一個非常有用的資源,提供及時的指引。透過此書,你可以熟悉最新的最佳實踐,物件導向的基本概念,安全,部署,程式碼標準,等等。

嘗試不同的框架後做出選擇

很久以來,PHP是個具備最多框架的程式語言(JavaScript最近已經趕上了)。很難說這到底是意味著社區的分裂還是語言的流行。但事實是,選擇一款框架是個很糾結的事情,尤其是在剛開始的時候。

試用了大多數框架之後,Bruno Skvorc推薦穩定優質的Phalcon框架。其實Phalcon是用C語言寫的,可以當作PHP擴充安裝,因此比現存的框架都要快。無論如何,嘗試使用不同的框架絕對是必要的。

當你嘗試不同框架的時候,你每次都能學到解決常見問題的新方式。每個框架都有自己的特性和坑,但最重要的是,你能學到別人(主要是框架開發者)的想法。你將接觸新的用法和方式,用所有你能找到的框架重構你的項目是一個非常好的練習。這將幫助你有效地衡量某個特定框架的效率:開發的速度和效能。

閱讀

千萬不要忽略別人給你的提示和小建議。盡可能多閱讀。訂閱好的博客,閱讀網站上的教程,在StackOverflow上面閱覽問答,訂閱郵件列表,關注Google 上的優質資源。但是要避免PHP基礎教學類別的書本,它們很快就會過時。相反,要專注於網路上有用的、最新的程式碼片段和教學。即使是已經接觸過的主題也可以再讀一遍,常常能從別人的觀點裡領悟出新的想法。

如果沒有工作,那就發明一些出來

有事情要做。永遠別對自己說:「我沒有一個專案。」更別對自己說:「我很無聊。」如果你找不到什麼項目做,那就開一個新的。你是不是因為天天使用的工具缺乏某個功能而沮喪?做一個更好的替代品!沒有新產品的創意?那就重複現有的創意——試著重建一個基本的facebook,重新創建一些你已知的項目來練手。

最重要的是永遠別停-如果你停下了,就不會有驚人的一萬小時了!持續地工作,維持自己的興趣,持續投入。做一個簡單的地址薄應用。然後用別的框架重構一下。然後再換個資料庫(例如將 MariaDB 換成 Mongo)。保持忙碌!

找一個夥伴或指導者

和人合作學習更容易。尋找一個和你一樣有熱情的夥伴。也許你是少數好運氣的人,能找到一個能和你分享極客興趣的夥伴。也許你在學校裡,能找到一個想開始學習也需要夥伴的同伴。你甚至可以找一個指導者,接受一些專業指導。

永遠不要低估陪伴的力量!

結論

當你專注於實踐上面所提到各種方法的時候,你就在成為PHP專業開發者的路上。堅持原則,永不放棄(即使周圍的人放棄了),持續練習。

原文 ecoming a PHP Professional: The Missing Link

編譯 SegmentFault

PHP


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn