怎樣成爲一個專業php開發者,最重要的一環

成爲一個php專家,最重要的一環php

當我經過閱讀博客,google+,newsletter,或雜誌瞭解和php相關東西的時候,我經常注意到技術的兩極分化。問題不是「我怎麼才能連上mysql」就是一些「我怎樣優化個人郵件系統在不引進新的服務器的同時作到每小時發送一萬封郵件」。css

我本身劃分了4個關於php的級別(基本適用於任何語言或行業)初級,過渡期,專業和精通。mysql

每一個極端linux

 對於php,初學者學習關於變量,引用,表單處理。學習一些簡單的邏輯結構,根據教程去發送郵件,或是直接粘貼複製一個面向對象的例子卻沒有去真正的理解它。你用wordpress工做,修改幾個css屬性,只有這些知識,你應該很難找到一份工做。git

專業的php開發者會在不少項目中貢獻他們好的技術。他們不僅部署框架,並且也部署一些商業應用,他們根據效率選擇不一樣的數據庫,常常參加分享會或是進行分享。他們研究設計模式而且可以輕鬆的設計一整個項目從畫圖到執行。他們不用面向過程的代碼。github

精通php的開發者就是傳說中投入10000+小時去研究打磨他們技術的專業者。他們自給自足,本身寫php安裝中的擴展,只須要看一眼源碼就能發現其中的bug。他們對代碼的佈局很是謹慎,他們會找到一個可替換的富有想象力的方式去解決人們都沒有發現這是個bug的bug。他們常常會寫一些很受歡迎的書籍,而後進行n場分享,或者本身寫一個或兩個特別受歡迎的框架。sql

因此,這裏面誰是中間的過分者呢?數據庫

缺失的一環編程

一個初學者怎樣能成爲一個專業的人或是更厲害的呢,若是一我的只知道學習基礎知識,怎麼能提升技術去擺脫笨拙的練習方式而找到一個更加先進的方式。這是一個我常常問初學者的問題,要成爲一個專業的人,必須先有一個過渡期。windows

經過如下途徑就能熟練的運用php。

拋棄冗長的代碼

不少人認爲寫類就是面向對象編程,寫方法就是面向過程編程。這固然是錯誤的,爲了這個爭論,咱們假設一個普通的定義:不用類和對象的代碼是面向過程的代碼,面向對象的代碼是你儘量的用了類和對象。

個人建議是全面拋棄面向過程的代碼,儘可能用面向對象的思路去抽象類,封裝邏輯,和現實的實物術語想結合。面向過程代碼產生的好處和麪向對象帶來的可複用和方便後來人們開發相比是能夠忽略的。反對這個的一個理由一般是」word press」 就是面向過程的。誠實的說,這或許聽起來很殘酷,用wordpress編程的開發者只是一個用Instagram的攝像師。這不表明WP就沒有用,他是一個很優秀的blog,簡單的網站,一天你就能搭建好的項目。是一個很好的捷徑或是爲了一些不專業的人來講。可是掌握WP並不表明你就是一個合格的php工程師,一團亂遭的代碼是不會教你爭取的設計規則的。

開始的時候,抽象一下真實世界的對象,儘可能用面向對象的思想去編程,經過輔助教材去學習慢慢的取得進步。若是你在面向對象編程中不能好好理解類的概念,那你是沒法過分到適合的框架,理解不了Model,View,Concrol的概念。

剖析現有的項目

研究你所能找到的全部源碼,好比,在github上的項目,拷貝下來,而後在本地運行,儘可能的去靈活運用。仔細的分析每一個文件下的每行代碼,直到你弄懂爲止。

尋找有註釋或文檔,良好的結構而且有人維護的項目,若是項目制更新到2008年,若是你已經進入php5.5那你確定從中學不到什麼.知識。你會錯過那些可以讓你可以在這個最受歡迎的領域裏脫穎而出的最新最棒的特性。

學會搭建你本身的php環境

可以搭建本身環境是一項基本的技能。這不只可以讓你自定義的安裝,並且還能讓你對源碼的擴展更加熟悉。

拋棄windows。若是你的筆記本是windows系統,那就下一個虛擬機而後安裝一個linux系統,windows對大小寫不敏感,一行就是一個結束,對於大多數服務器環境都有些古怪的不兼容問題,因此最好用一個和你運行環境相似的系統。

虛擬機也會幫你實驗,若是出錯了,你能夠直接清理掉,而後重啓一下或是直接回滾,你能沒有後顧之憂的一直作實驗。掌握一個工具很重要,可是有一個好的工做平臺更重要。

你本身不斷的安裝也讓你可以熟悉不一樣的服務器,使用Apache或是Nginx,或是都不使用直接用應用服務器等等。

早練習是最佳實踐

當你寫代碼的時候,你必定要有註釋塊,漂亮的縮進和仔細的架構。當你寫好一個類,項目或是類庫的時候用一個知名的註釋工具去提取註釋塊而後再去改進。

一個好的開發集成工具頗有價值,一個可以適應多平臺的編輯器會幫助你很快搭建起一個新的環境,這樣你就不用花時間去設置快捷鍵和主題直接奔向你的代碼,確保你把你的開發工具的配置在相似google drive裏備份了一份。這樣你就能夠在任何須要的時候都能立刻把環境搭建起來。一個好的開發工具是phpstore,若是你買不起它或是沒有任何的開源項目去換取一個免費的license,那NetBEANS是一個好的後備選擇,都是基於多平臺的。

早點練習會幫助你保持連貫,讓別人更可以讀懂的你的代碼。找到你的一個風格並堅持下去,會幫助大家雙方。儘可能去遵照PSR標準,他們被稱之爲標準也是有必定緣由的,大多數人都喜歡它,它也讓你們的代碼易複用,易讀。

嘗試不懂得框架,找到合適的一個

一直以來,php就是框架最多的一種語言。不管這是否論及咱們社區的不一致或是語言的受歡迎。我沒法斷言,可是事實就是選擇一個框架是一個頭疼的事情,尤爲是你已經用了一款後。

我用過大多數框架,我強烈推薦Phalcon做爲一個學習框架由於它的健壯和品質。事實上它是基於c語言而後做爲一個php擴展。可是多嘗試幾個框架是必要的。

當你嘗試的時候,對一個普通的問題你會學到一種新的解決辦法,每個框架都有你喜歡或是討厭的特性。可是更重要的是你能學習到別人的心態(就是這個框架開發者的)。當你把一個小的項目在不懂得框架下搭建是你會找到新的用法和方法。這會讓你分辨出哪一個是最有效率的。

讀代碼

不要小看別人的任何提示。儘量的多讀,這不會花費你不少時間的,找一個好的blog去關注,研究網站裏的教程,在stackoverflow裏提出問題而且找到答案,預約newsletter,關注google+上好的資源。避免一些基礎的php教程,它們在出版時已通過時了。取而代之的是在網上關注幾個很牛的人,而後去學習那些時時更新的代碼。即便是那些標題你已經看過的也嘗試再看一下,根據不一樣人對於同一問題的理解或許能學習新的東西。

若是沒有工做,創造工做

保持總有事情去作。不要讓本身說我沒有一個項目或是更糟糕的我已經厭倦了。若是你沒有一個新鮮的項目去作,那就本身創造一個。你是否對一個天天都用的工具卻缺失的某個功能感到抓狂,那就本身寫一個代替。若是沒有一個好的想法,那麼就作一個現有的。試着從新作一個最原始的facebook,作一些你已經知道的功能當作練習。

最重要的是不要停下來。若是你不作就沒有傳說中的10000+小時。努力工做,努力把工做與興趣結合。作一個簡單通信錄應用,而後從新作一個框架,最後用另外一個數據庫去代替現有的。不要停下來!

找一個同伴或導師

若是有一我的和你一塊兒那你會學的更輕鬆。找一個同伴去分享的熱情。或許你足夠幸運找到一個和你臭味相投的小夥伴。也可能在學校裏面有一個初學者剛剛想要有個同伴一塊兒學習,甚至你也能夠找一個導師指導你學習。

結論

當你從各個方面去收集你想要的信息,你就明白哪一個是你想要的,不要放棄,你正在成爲一個專業的php開發者。保持熱情,繼續練習。

若是你找到了任何關於怎樣幫助你過渡成爲一個專業php開發者的信息,想要和咱們分享的話就在下面評論吧~

相關文章
相關標籤/搜索