是什麼讓我的PHP退役了_PHP教程

來源:互聯網
上載者:User
對於我的個人業餘項目和未來的編程創收活動,PHP作為我的一種程式設計語言的選擇,已經從此退役了。作出這個決定並不容易,但是對於我熱愛的編程事業的延續,這是必要的。你知道,我可不是僅僅因為熱愛編程才做程式員,因為我不會幹其它的。

曆史

一切都開始於1999年,我8年級。互連網真正開始顯示出魅力,我想編程。學習了基本的HTML,我可以做出網頁,但我想讓這些網頁有更多的互動功能。Perl成為了選擇,嵌入Apache裡作為CGI。Perl最初不是做這個的,對於一個對Unix,Linux,Apache和HTTP是如何工作的一無所知的孩子,我不可能配置它們、讓它們跑起來。

最終我找了一個web主機,上面所有的東西都已經配置好了,我就這樣可以神奇的使用了。算是吧。我花了數月琢磨Perl,但這個東西實在讓人困惑。有誰還記得那些Regex和大堆的代碼來解析請求變數、獲得一個$POST 和 $GET 數組?對我來說絕對是天書,我拷貝粘貼,假裝知道自己在幹什麼。有誰還記得恐怖的Matt’s Script Archive這個指令碼嗎?

 
  1. # From Matt's Script Archive
  2. if ($ENV{'REQUEST_METHOD'} eq 'GET') {
  3. @pairs = split(/&/, $ENV{'QUERY_STRING'});
  4. } elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
  5. read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  6. @pairs = split(/&/, $buffer);
  7. }
  8. foreach $pair (@pairs) {
  9. local($name, $value) = split(/=/, $pair);
  10. $name =~ tr/+/ /;
  11. $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  12. $name =~ tr///d;
  13. $value =~ tr/+/ /;
  14. $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  15. $value =~ tr///d;
  16. # Build a hash with $name and $value
  17. }

數月後,我風聞有一種語言叫PHP。你只需要向伺服器上傳一個.PHP檔案,一切都搞定了。你直接能訪問表單域裡的變數,它們可以跟在URL後面提交。不須用Regex分析環境變數。相當的迷人。

498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="php logo" src="http://www.bkjia.com/uploadfile/2013/0904/20130904095327774.jpg" width="300" height="158" />

不僅訪問GET 和 POST 變數是如此的容易,串連資料庫也是要命的簡單。所有的都是在Windows上?!願望很快就成了現實。有人不久寫出了WAMP的安裝包——因為安裝Apache和MySQL仍然不是一個很輕鬆的事。感覺就像是在天堂裡了。最終,我開始編寫能把資料存入資料庫,取出資料,並操作它們的web應用了。

當然,現在知道的什麼SQL注入攻擊,XSS攻擊,CSRF攻擊,session注入攻擊或其它的流行的安全性漏洞問題,當時一無所知(公平的說,我肯定,當時整個行業都不太清楚這些東西)。

但我很快的就開始編程了,瘋了似的。我開發論壇,我開發基礎的網站產生器,日誌和內容管理系統。我喜歡這些。總有一些新的東西要學,總有一些新的東西要做。爸爸的公司給了我很多便利,特別是他們的軟體開發組。那是一個在休斯敦的小web開發公司,我有機會在裡面和很多比我年長的程式員一起工作,之後我開始能獨自承擔大的網站開發。整個大學期間都在做這個,甚至開發了一個總共有16862行代碼的PHP系統,提供給一個非盈利組織使用(在那時,我已經知道了常見的網站漏洞,並進行了修補)。

Rails和Django並沒有吸引走我。我非常瞭解PHP,我有自己的架構,能夠很快的讓東西開發完成並跑起來。

就這樣,我經曆了MVC架構變革過程。作為一個PHP開發人員,我的工作情況越來越好(更好的待遇,更好的職位),但慢慢的我發現,在我自己的業餘時間裡,寫出的代碼非常的好,可是在工作時間接觸那些公司的代碼卻很糟糕。不是一般的糟。沒法再糟了。做這些業餘項目讓我保持清醒,因為公司的那些程式在提醒我,讓我痛苦不堪。

熱情枯竭

這就是為什麼PHP從我的業餘項目和新的創收活動中退役的原因。我疲倦了PHP。熱情耗盡了。我感覺對這種語言已經達到了最高水平,如果不轉向新的語言,對這種語言我就沒什麼可做的了,我可不想落入這種狀態。

我作為一個職業PHP開發人員掙了很多錢,我計劃繼續下去。但我的業餘項目和個人業務創收上將會使用其它的語言和架構。

此外,PHP並不強調好的整潔的編碼規範。有很多地方它實際是違背好的編碼規範的。結果,你就看到了到處都是大堆的恐怖的PHP程式,跟這些程式打交道簡直就是噩夢。新程式員可以通過閱讀一些過時的速成教程很快學會這種語言,他們寫出的很爛的代碼,打包到產品裡,這樣的水平一年就能掙到6.5萬美元。我親眼看到過這種事情發生。PHP的易用和流行就像吸引蒼蠅一樣吸引了大量的初級開發人員。

初級的程式員會認為他們把代碼格式化一下,加一些注釋,他們的代碼就整潔了。他們錯了,他們格式化的恰恰是些爛代碼。我在工作上整天遇到這樣的代碼。

我作為PHP熱愛者的日子結束了。那麼,下一步怎麼辦?

Scala

498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="scala-logo" src="http://www.bkjia.com/uploadfile/2013/0904/20130904095327438.png" width="310" height="88" />

php100推薦專題:

http://www.bkjia.com/PHPjc/445782.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445782.htmlTechArticle對於我的個人業餘項目和未來的編程創收活動,PHP作為我的一種程式設計語言的選擇,已經從此退役了。作出這個決定並不容易,但是對於我熱...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.