狹義上說,PHP 程序員就是用PHP做為開發語言的程序員。但是往往一個程序員不是僅僅局限某一種開發語言,或用某一種開發語言來劃分的。但是為了提高開發效率,現在的科技企分工越來越明確,很少出現一個程序員同時用多種語言開發的情況。
中文名php程序員
外文名PHP programmer
英文名php Programmer
工作內容開發程序
類別員工
又名phper
簡介php在介紹PHP程序員之前,我們了解一下什么是PHP :
PHP,一個嵌套的縮寫名稱,是英文(Hypertext Preprocessor)的縮寫。
1.PHP是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格類似于C語言,現在被很多的網站編程人員廣泛的運用。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。它可以比CGI 或者Perl 更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的 CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在服務器端執行,充分利用了服務器的性能。
2.PHP執行引擎還會將用戶經常訪問的PHP程序駐留在內存中,其他用戶再一次訪問這個程序時就不需要重新編譯程序了,只要直接執行內存中的代碼就可以了,這也是PHP高效率的體現之一。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實現,而且支持幾乎所有流行的數據庫以及操作系統。
發展歷程php1.PHP 最初是1994年Rasmus Lerdorf創建的,剛剛開始只是一個簡單的用Perl語言編寫的程序,用來統計他自己網站的訪問者。后來又用C語言重新編寫,包括可以訪問數據庫。在 1995年以Personal HomePageTools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔,并且發布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以后越來越多的網站使用了PHP,并且強烈要求增加一些特性,比如:循環語句和數組變量等等,在新的成員加入開發行列之后,在1995年中, PHP2.0發布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對mSQL的支持,從此建立了PHP在動態網頁開發上的地位。
2.到了1996年底,有15000個網站使用 PHP/FI;時間到了1997年中,使用PHP/FI的網站數字超過五萬個。而在1997年中,開始了第三版的開發計劃,開發小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。
3.在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine。PHP包含了許多新特色,像是強化的面向對象功能、引PDO(PHPData Objects,一個存取數據庫的延伸函數庫)、以及許多效能上的增強。目前PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。
4.2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。PHP 6 的開發也正在進行中,主要的改進有移除register_globals、magic quotes 和 Safe mode的功能。
稱呼由來一般來說,跟其他開發語言一樣PHP程序員往往被稱為phper。但這樣的叫法也并沒有傳播開來。
市場需求1.網店系統shopex,ecshop 等知名免費獨立網店系統均為PHP語言開發。PHP+MYSQL也因為“開源、速度”等關鍵字成為
網上購物系統的首選。目前國內最大的網店提供商
shopex正在迅速擴張,需求大量的PHP程序員。
2.開源論壇
因為PHP的開源產生了很多的開源的系統。曾經風靡一時的
Discuz!論壇系統就是很好的證明。相比較網店系統,做論壇類開發的PHP程序員需求不是很多。
3、二次開發
基本都是基于shopex,echshop,Discuz!等做
開源系統的二次開發。這樣的公司大多是中小型公司。對程序員的要求除了PHP也會要求程序員懂一些CSS的技術。以便最大化的節約成本。[1]
技能要求作為一名合格的PHPer 首先就是對PHP的熱愛,俗話說:“要做好一件事,要先去理解他,然后愛他。”PHP是一種很美妙的開發語言,你不需要再為定義一個
變量的類型而猶豫不定,PHP會自動判斷;你不需要在得到一個
表單數據而聲明N多的函數,一切都交給PHP吧!
1、MYSQL
是的,只有一門好的開發語言而不懂得數據庫,我們依然是寸步難行的!還好,我們有一樣開源、小巧的MYSQL!你知道的對于一個web開發人員來說,我們不能僅僅懂得(填/刪/改/查-inrt/delete/update/lect),為了讓我們的網站跑的更快、更順暢我們還要懂得mysql的優化。沒錯!這個時候,視圖、索引會幫你完成你想要的結果。
2、Apache
沒有Apache我們的程序怎么能跑的起來呢!至少你要懂得一些Apache的基本配置信息吧!
3、Javascript
“后端語言群雄逐鹿,前端語言唯我獨尊!”沒錯,這就是Javascript在前端語言地位的真實寫照!你的網站想擁有絢麗的視覺效果,你離不開 Javascript;你的網站想擁有良好的客戶體驗,你離不開Ajax!縱然有時候,YUI,JQuery等就Javascript框架會幫助我們提高效率,但是,別忘了,他們的基礎是Javascript!
4、算法、數據結構
其實,按照常理來說,算法是程序員的“靈魂”。一名合格的程序員,他第一要求的往往是過硬的算法基礎。但是,web開發顛復了這種傳統。 因為PHP主要用于web開發,也就不太需要這種技能。 所以,很多時候,人們都在討論是不是web開發人員不能算作真正的程序員呢!?
薪資待遇由于PHP相對于其他開發語言,上手容易,要求起點較低。所以,相應的PHP程序員的薪資水平也比不上JAVA和的程序員。在
一線城市PHP程序員的工資在月薪4000左右,做的稍好的可以到5000,技術骨干6000以上。
崗位職責php程序員1、負責協助
技術總監進行技術評測,bug處理,代碼開發;
2、負責網站數據庫、欄目、程序模塊的設計與開發;
3、負責根據公司要求進行
erp、oa、crm系統等項目開發;
4、定期與培訓部和測試部溝通,獲取反饋信息并進行相應的處理;
5、按時按質完成公司下達程度開發、系統評測等工作任務;
6、定期維護網站程序,處理反饋回來的系統bug;
7、網站程序開發文檔的編寫。
職業要求1、計算機相關專業大專以上學歷;
2、至少1年以上的
PHP項目開發經驗,具備良好的代碼編程習慣及較強的文檔編寫能力;
4、熟悉Mysql5.0,有較為熟練地掌握
mysql語言及編寫存儲過程、觸發器等數據庫開發的能力;
5、精通PHP語言,精通CGI標準和HTTP等互聯網協議;
6、熟練掌握
HTML語言、
JavaScript腳本語言;
7、英文水平過硬,能基本不借助字典快速閱讀英文文檔;
8、熟悉LINUX或WINDOWS操作系統;
9、有良好的溝通、協調能力和學習能力,具備良好的團隊合作精神,對工作積極嚴謹踏實,能承受較大的工作壓力。
最常犯的11個MySQL錯誤1、使用MyISAM而不是InnoDB
MySQL有很多數據庫引擎,但是你最可能碰到的就是MyISAM和InnoDB。
MySQL默認使用的是MyISAM。但是,很多情況下這都是一個很糟糕的選擇,除非你在創建一個非常簡單抑或實驗性的數據庫。外鍵約束或者事務處理對于數據完整性是非常重要的,但MyISAM都不支持這些。另外,當有一條記錄在插入或者更新時,整個數據表都被鎖定了,當使用量增加的時候這會產生非常差的運行效率。結論很簡單:使用InnoDB。
2、使用PHP的mysql函數
PHP自產生之日就提供了MySQL庫函數(ornearasmakesnodifference)。很多應用仍然在使用類似mysql_connect、mysql_query、mysql_fetch_assoc等的函數,盡管PHP手冊上說:
如果你在使用MySQLv4.1.3或者更新版本,強烈推薦使用您使用mysqli擴展。
mysqli(MySQL的加強版擴展)有以下幾個優點:
可選的面向對象接口
prepared表達式,這有利于阻止SQL注入攻擊,還能提高性能
支持更多的表達式和事務處理
另外,如果你想支持多種數據庫系統,你還可以考慮PDO。
3、沒有處理用戶輸入
這或者可以這樣說#1:永遠不要相信用戶的輸入。用服務器端的PHP驗證每個字符串,不要寄希望與JavaScript。最簡單的SQL注入攻擊會利用如下的代碼:
$urname=$_POST["name"];$password=$_POST["password"];$sql="SELECTuridFROMurtableWHEREurname='$urname'ANDpassword='$password';";//runquery...
只要在urname字段輸入“admin';--”,這樣就會被黑到,相應的SQL語句如下:
SELECTuridFROMurtableWHEREurname='admin';
狡猾的黑客可以以admin登錄,他們不需要知道密碼,因為密碼段被注釋掉了。
4、沒有使用UTF-8
美國、英國和澳大利亞的我們很少考慮除英語之外的其他語言。我們很得意地完成了自己的“杰作”卻發現它們并不能在其他地方正常運行。
UTF-8解決了很多國際化問題。雖然在PHPv6.0之前它還不能很好地被支持,但這并不影響你把MySQL字符集設為UTF-8。
5、相對于SQL,偏愛PHP
如果你接觸MySQL不久,那么你會偏向于使用你已經掌握的語言來解決問題,這樣會導致寫出一些冗余、低效率的代碼。比如,你不會使用MySQL自帶的AVG()函數,卻會先對記錄集中的值求和然后用PHP循環來計算平均值。
此外,請注意PHP循環中的SQL查詢。通常來說,執行一個查詢比在結果中迭代更有效率。
所以,在分析數據的時候請利用數據庫系統的優勢,懂一些SQL的知識將大有裨益。
6、沒有優化數據庫查詢
99%的PHP性能問題都是由數據庫引起的,僅僅一個糟糕的SQL查詢就能讓你的web應用徹底癱瘓。MySQL的EXPLAINstatement、QueryProfiler,還有很多其他的工具將會幫助你找出這些萬惡的SELECT。
7、不能正確使用數據類型
MySQL提供了諸如numeric、string和date等的數據類型。如果你想存儲一個時間,那么使用DATE或者DATETIME類型。如果這個時候用INTEGER或者STRING類型的話,那么將會使得SQL查詢非常復雜,前提是你能使用INTEGER或者STRING來定義那個類型。
很多人傾向于擅自自定義一些數據的格式,比如,使用string來存儲序列化的PHP對象。這樣的話數據庫管理起來可能會變得簡單些,但會使得MySQL成為一個糟糕的數據存儲而且之后很可能會引起故障。
8、在查詢中使用*
永遠不要使用*來返回一個數據表所有列的數據。這是懶惰:你應該提取你需要的數據。就算你需要所有字段,你的數據表也不可避免的會產生變化。
9、不使用索引或者過度使用索引
一般性原則是這樣的:lect語句中的任何一個where子句表示的字段都應該使用索引。
舉個例子,假設我們有一個ur表,包括numericID(主鍵)和emailaddress。登錄的時候,MySQL必須以一個email為依據查找正確的ID。如果使用了索引的話(這里指email),那么MySQL就能夠使用更快的搜索算法來定位email,甚至可以說是即時實現。否則,MySQL就只能順序地檢查每一條記錄直到找到正確的emailaddress。
有的人會在每個字段上都添加索引,遺憾的是,執行了INSERT或者UPDATE之后這些索引都需要重新生成,這樣就會影響性能。所以,只在需要的時候添加索引。
10、忘記備份!
雖然比較罕見,但是數據庫還是有崩潰的危險。硬盤有可能損壞,服務器有可能崩潰,web主機提供商有可能會破產!丟失MySQL數據將會是災難性的,所以請確保你已經使用了自動備份或者已經復制到位。
11、Bonusmistake-不考慮使用其他數據庫
對于PHP開發人員來說,MySQL可能是使用最廣泛的數據庫系統,但并不是唯一的選擇。PostgreSQL和Firebird是最強有力的競爭者:這個兩者都是開源的,而且都沒有被公司收購。微軟提供了sqlrverExpress,甲骨文提供了10gExpress,這兩者都是企業級數據庫的免費版本。有時候,對于一個較小的web應用或者嵌入式應用,SQLite也不失為一個可行的替代方案。
參考資料本文發布于:2023-06-05 02:49:06,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/92/202265.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:php程序員(開發語言程序員).doc
本文 PDF 下載地址:php程序員(開發語言程序員).pdf
| 留言與評論(共有 0 條評論) |