『壹』 php開發需要框架嗎
php中也存在框架,如國內比較常用的thinkphp、brophp。國外的Laravel。但使用其也用利弊,分析如下:
框架是非常好的,它能讓決定更連貫。框架能避免我們寫一大堆自定義模塊來實現這些性能,我們所需要做的就是將這些共用模塊放在框架中實現。框架節省了我們不少的時間和精力,並且讓擴展變得更容易。但是這也是問題的根本所在。
對錘子來說,所有事物都是釘子
Abraham Kaplan說過的一句話能最好地控訴工具的缺點:把錘子給一個小孩,他會用錘子槌遇到的所有事物
這就是衡量你是否更職業的時候了,交付對未來擴展最好的代碼而不是交付最容易實現的代碼。是為了以後的需求更好的設計你的代碼還是讓以後的人做需求的時候再考慮,這就是程序員的責任感問題了。作為一個更職業的開發者,我們必須不依賴框架獨立思考。
這就是你的錯
是不是經常聽到某人在抱怨某個框架?我已經聽見好多人抱怨過Rails了:「Rails應用總是糟糕的結構」或者「Rails測試總是這么慢」。最開始,我也曾經這么認為。但是現在,每當我聽到這些抱怨的時候,我就會意識到其實抱怨者是懶惰的。Rails,或者其他框架,只是一個工具而已,你要做的是控制它。把壞代碼歸咎於無生命的框架只能說明你的不專業。
選擇正確的工具,或者正確地使用工具
決定變得更專業
我們必須根據基本的需求來選擇工具。框架確實能做很多事情,並且需求會決定整個代碼結構。有的時候框架會很適合某個需求。但是當框架不適合某些需求的時候,你就有責任為了代碼的清晰和干凈修改框架或者封裝框架。
作者Myles Megyesi正文結束讀後感文章中提到框架只是一個工具,你不能用這個工具來滿足你的所有需求,當框架無法清晰完整地滿足你的需求的時候,你要做的不是寫一大堆垃圾麻煩的代碼來實現需求,更不是修改你的需求來滿足更容易實現這件事。作為更專業的你,你需要修改框架,或者使用抽象等思維來使你的代碼達到清晰干凈。
這點在實際開發中會遇到非常多。當別人問你:這里的代碼為什麼這么寫? 如果你的回答是:沒辦法啊,因為框架是這么這么做的,我只能這么這么做。這就說明了你已經被框架束縛住了。不要認為框架是權威,框架也是別人寫的,它寫的時候不會考慮到你的需求。只要你的需求是團隊的公共需求,需要修改,增加框架的時候,你就應該修改框架。
代碼是讓人更清晰自然的閱讀和開發的,如果被一個框架捆綁住,實際上就是本末倒置了。
『貳』 PHP程序員要求有哪些
PHP一直秉承簡單、開源的思想,使得PHP得以快速的發展,相對於ASP(ASP培訓)、jsp來說,php有更高的安全性,通過與linux(linux教程linux培訓)伺服器和mysql資料庫(資料庫培訓資料庫認證)以及apeache網站服務程序相搭配成為眾多中小企業網站的最佳選擇。PHP程序員(
一、素質要求:
作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具有以下素質:
1、 團隊精神和協作能力
把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有限的,獨行俠可以作一些賺錢的小軟體發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺乏這種素質的人就完全不合格了。
2、文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級程序員和系統分析員,這個比例還要高很多。缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇到極大的麻煩。
3、規范化,標准化的代碼編寫習慣
作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。代碼具有良好的可讀性,是PHP程序員基本的素質需求。
4、需求理解能力
程序員需要理解一個模塊的需求,性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經驗才有可能有心得。
5、復用性,模塊化思維能力
復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重復性的開發工作,就會有更多時間和精力投入到創新的代碼工作中去。
6、測試習慣
軟體研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效率和可靠性就有了最大的保證。
測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常調用下完成基本功能,這是最基本的測試職責;第二方面就是異常調用的測試。當然並不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和各種性能需求,有針對性的進行相關測試並盡早發現和解決問題,當然這需要上面提到需求理解能力。
7、學習和總結的能力
程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。
善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高了。但是學習也要找對目標,善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高,一個程序員才可能成長起來。
二、PHP程序員要求-技能要求
作為一名合格的PHPer 首先就是對PHP的熱愛,俗話說:「要做好一件事,要先去理解他,然後愛他。」PHP是一種很美妙的開發語言,你不需要再為定義一個變數的類型而猶豫不定,PHP會自動判斷;你不需要在得到一個表單數據而聲明N多的函數,一切都交給PHP吧!1、 MYSQL
只有一門好的開發語言而不懂得資料庫,我們依然是寸步難行的!還好,我們有一樣開源、小巧的MYSQL!對於一個web開發人員來說,不能僅僅懂得(填/刪/改/查-insert/delete/update/select),為了讓我們的網站跑的更快、更順暢我們還要懂得mysql的優化。沒錯!這個時候,視圖、索引會幫你完成你想要的結果。2、 Apache
3、 Javascript
「後端語言群雄逐鹿,前端語言唯我獨尊!」沒錯,這就是Javascript在前端語言地位的真實寫照!想讓網站擁有絢麗的視覺效果,就離不開 Javascript;想讓網站擁有良好的客戶體驗,就離不開Ajax!縱然有時候,YUI,JQuery等就Javascript框架會幫助我們提高效率,但是,他們的基礎仍是Javascript!
4、 演算法、數據結構
按照常理來說,演算法是PHP程序員的「靈魂」。對一名合格的程序員的第一要求的往往就是過硬的演算法基礎。
具備以上全部
PHP程序員要求
的人,應當說是一個夠格的程序員了,以上的各種要求,不僅僅是由IQ決定的,也不是某些課本里可以完全學習到的,更重要的是要求程序員對自己工作的認識,是一種意識上的問題。