乙個優秀php程式設計師應具備什麼樣的能力,才能更好的完成工作,才會有更好的發展方向呢?下面7種能力希望對您有所幫助。
一,php能力
1,了解階段,您能寫一些**,因為那是在手冊和google的幫助下,您才完成的。變數亂定義,n多函式不知道,做起事來很慢,想到什麼寫什麼,**寫的比較亂,後期維護很麻煩。
2,熟悉階段,經常查函式,手冊估計也看過一,二遍了,常用的函式基本上您都了解了。後期維護給您帶來了不少痛苦,您開始發現自己的**有很多不足,開始思考如果改進自己的**,如何站在專案的角度來規劃自己的**,而不是想到什麼寫什麼,知道如何來減少冗餘**,使您的**清晰,知道什麼樣的**寫出來讓人看著舒服,基本的**規範,已經形成。為了提高自己,會特意的去一些技術性的論壇,學習研究。
3,很熟悉階段,本來我想寫精通的,到現在我也不知道精通是到什麼程度,也沒有聽到有人說自己精通php的,所以就用很熟悉了。這個階段,我想您已經從面向過程進入了物件導向。個人覺得物件導向的最大好處就是,能使整個專案功能化,模組化,後期維護,改版,公升級就很方便了。沒有物件導向的時候,不也一樣開發嗎.這個時期,您已經研究過了一種或者幾種框架,結合自己的實際專案經驗,在腦子裡已經能形成自己的乙個框架,這個框架是最適合你的。並且能夠將這個框架運用到實際的開發中去,以提高自己的開發效率。
如果您剛寫**的時候,就有人能約束你按oop的思想去寫**的話,那您就遇到貴人了。當不好的**習慣養成時,在想改就不那麼容易了。
二,資料庫能力
用php來做專案的話,用mysql是最多的了,其次是pgsql。因為他們二個是免費的。哈哈,以mysql為例
1,了解階段,知道mysql是什麼,能寫一些簡單的sql語句,能設計簡單的表,知道如何使用資料庫管理工具(如:phpmyadmin)
2,熟悉階段,知道如何才能寫出高效率的sql語句,了解索引原理,知道如何建立索引,會寫一些儲存過程,觸發器等,能通過各種手段來分析,測試資料庫,例如:利用mysqlslap來進行壓力測試,通來explain來分析sql語句,通過開啟慢查詢來分析哪些sql語句真正影響mysql的執行,能利用dbdesigner4,mysql workbench為設計資料庫,能在命令狀態下,查詢,分析mysql環境變數,來分析mysql的執行狀態等等
3,很熟悉階段,對於各有種儲存引擎的原理非常熟悉,知道通過修改配置檔案來,使儲存引擎達到最優化,知道如何來優化資料庫的最大連線數,知道怎麼樣來優化mysql的i/o瓶頸,為了專案的需要,向mysql資料庫增加儲存引擎或者外掛程式,知道如何搭建資料庫集群,並監控資料庫的執行狀態等等
三,html,css能力
php是指令碼語言,我們用php大多數情況下是用來做**的,慨然是**,那肯定是離不開html,css
1,了解階段,知道html標籤是幹什麼用的,通過網路和手冊能自主的寫一些html,知道css是怎麼回事,能在html中寫一些簡單的style等
2,熟悉階段,能利用css來能設計一些簡單的布局,可以將css單獨的寫成檔案,熟悉css的語法規則,以及繼承性等
3,很熟悉階段,能夠設計出很好的css,並且管理好這些css檔案,儘量減少冗餘**。知道如何寫出有利於搜尋引擎搜尋的**,例如:title,h1,h2權重比較高的。等
對於php程式設計師來說,並不一定要你去設計頁面,但是給你乙個頁面,你要知道如何來修改css檔案,html就不要說了肯定要掌握的。
四,js能力
如果提高使用者體驗,是乙個**能留住人的重要標誌。這個就要用到js了
1,了解階段,了解js的基本語法,知道如何去除錯這些程式,能寫一些簡單function等
2,熟悉階段,對js的語法,函式,正則等已經熟悉了,能利用js來寫一些特效,並且發現用js寫特效,是比較累人的一件事,開始嘗試jquery,prototype,並對jquery,prototype基本語法有所解,個人反對不學 js,直接入手jquery,prototype這樣的js框架。
3,很熟悉階段,在框架的幫助下,能熟練的用oop的思想的來寫**,而不是乙個個 function累加,熟練運用jquery,prototype的ajax,或者是網上一些ajax框架,如(ajaxrequest),不在直接寫 active控制項了。能夠利用網路資源,來完成各種特效。
對於大型公司來說一般都是有js程式設計師的,小公司基本上沒有,要麼交給程式設計師來做,要麼交給美工來做。美工一般都不是程式設計師,也沒有程式設計基礎,所以學js比較吃力,但是學jquery比較容易的,因為css對html進行控制的方法,和 jquery對html的控制方法基本上差不多(css,jquery的相同之處),所以有好多公司把特效交給美工來做。
五,apache等能力
個人覺得,到目錄為止,跑php的話用apache的人還是最多,前段時間好多**在吵nginx有多麼多麼的好,能比apache好10倍,我覺得還是親自嘗試一下比較好。以apache為例
1,了解階段,不管是linux下,還是windows下,能夠安裝配置apache,知道如何新增php添模,如果面試官問你,apache為什麼能解釋php**,你怎麼回答呢。對apache的基本配置有所了解,對於啟動中遇到的問題能夠解決等
2,熟悉階段,知道如何向apache中新增新的模組,如果如何進行url重寫,防盜煉,進行ip限制等
3,很熟悉階段,知道如何利用apache來快取,能利用apache來做負載均衡,並且知道利用ab命令來進行壓力,通過工具對日誌分析,經過分析來對apache進行優化,知道如何搭建多個虛擬主機;對apahce的常用模組都有實際操作經驗等
對apache進行監控和維護,一般是運維人員或者是專案經理來做的,個人覺得最好還是了解一點,因為這樣您才不會那麼容易被忽悠,對於自己將來的轉型也是非常有必要的。
六,linux系統(shell)
為什麼要掌握linux系統呢?用php寫的**大多數執行在linux或者 freebsd下的,掌握linux系統對自己將來的發展還是比較有好處的。藉此感謝一下我的好友汪洋,是他將我帶進linux世界的,進來後我才發現這裡的世界很精彩,現在我基本上不用windows了,偶爾打遊戲的時候會進一下,在linux下,不用擔心中毒的問題,linux下的病毒很少,也不用擔心,xx和***掃瞄你的硬碟了。哈哈
1,熟悉階段,會裝linux系統,對系統的常用命令能夠熟練運用等
2,運用階段,在linux系統下,能夠安裝配置apache,php,mysql,svn,memcache,squid,lvs等一些web專案必要的工具,能夠通過日誌分析其狀態等。對shell要有所了解,並能夠寫一些簡單的shell指令碼等
七,溝通能力
這一點非常重要,並且被越來越多的人所忽視,其實做程式設計師挺杯具的,根電腦打交道的時間是最多,也許是因為這樣吧,勾通的時候,是比較費勁的,也有可能是被程式的嚴謹性束縛了大腦,說出來的話,太專業,可能其他人聽不懂的。所以平時多和他人交流,特別是根非技術人員多勾通,多站在對方的角度來思想問題,這樣的話,我想勾通起來會容易很多。
PHP程式設計師應具備的7種能力
乙個優秀php程式設計師應具備什麼樣的能力,才能更好的完成工作,才會有更好的發展方向呢?下面7種能力希望對您有所幫助。一,php能力 1,了解階段,您能寫一些 因為那是在手冊和google的幫助下,您才完成的。變數亂定義,n多函式不知道,做起事來很慢,想到什麼寫什麼,寫的比較亂,後期維護很麻煩。2,...
php程式設計師應具有的7種能力
一,php能力 1,了解階段,您能寫一些 因為那是在手冊和google的幫助下,您才完成的。變數亂定義,n多函式不知道,做起事來很慢,想到什麼寫什麼,寫的比較亂,後期維護很麻煩。2,熟悉階段,經常查函式,手冊估計也看過一,二遍了,常用的函式基本上您都了解了。後 期維護給您帶來了不少痛苦,您開始發現自...
程式設計師應該具備的能力
基本技能 技能描述 閱讀 這個技能需要程式設計師能夠具備讀懂已經存在的 的能力,這樣的能力可以讓程式設計師分析程式的行為,了解程式,這樣才能和開發團隊一起工作,繼承維護或是改進現有的程式。編寫程式 編寫程式並不包括程式設計。不要以為程式設計是一件很簡單的事情,很多程式設計師都認為程式設計只需要懂得程...