国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP比你想象的好得多

2024-05-04 23:28:09
字體:
來源:轉載
供稿:網友
有很多對于PHP的抱怨,甚至這些抱怨也出自很多聰明的人。當Jeff Atwood寫下對于PHP的另一篇抱怨文章之后,我思考了下PHP的好的方面
 
 

有很多對于PHP的抱怨,甚至這些抱怨也出自很多聰明的人。當Jeff Atwood寫下對于PHP的另一篇抱怨文章之后,我思考了下PHP的好的方面。

  這些抱怨最大的問題是他們出自很多仍在使用舊版本PHP的人。他們或許是不愿意關心或許是不愿意承認PHP不管在語言層面還是在社區層面都在以很快的速度演變。實際上它比任何其他語言或者web平臺都演變的快。盡管并不總是如此,但是過去的五年PHP經歷了一個驚人的歷程。

  在說最近PHP社區取得的驚人成就之前,我們先來看看一些有趣的數字:PHP被77.9%的服務端編程語言已知的網站使用。Wordpress被全世界16.6%的網站使用。使用率最高的三個CMS建站系統是:第一的Wordpress份額為54.3%,第二的Joomla份額為9.2%,第三的Drupal份額為6.8%。這三個產品都是用PHP寫的。

  PHP一定做了一些正確的事,不是嗎?

  現在,我來告訴你吧,PHP的絕技在于:盡管經過了這么多年的變化,PHP對于非技術人員依然是最容易學習的語言,它讓人可以比其他技術更快地建立動態網站,也讓人沒有麻煩地托管網站。PHP可能不是這個世界上設計最好的語言,但是它能讓你完成事情(get things done),這一點是毋庸置疑的。

 

  PHP語言

  PHP5.0(2004年發布)帶來了很實用的對象模型…等等,我在說8年前發布的東西。快進到現在的PHP5.4,即PHP最近的版本,帶來了對于現代web語言你夢寐以求的東西:是的,PHP支持了命名空間(namespaces);是的,PHP支持閉包(closure);是的,PHP支持traits。

  盡管需要花費一些時間,但是PHP5.4帶來了一些語法糖使得整體體驗比以往更好:是的,PHP支持用[ ]定義數組;是的,PHP支持新創建的對象這樣調用函數:(new Foo())->bar();是的,PHP支持數組這樣獲取元素:$foo->bar()[1]。

  PHP甚至向它自己曾犯過的錯誤學習:register_globals 和 magic_quotes被徹底刪除了。

  PHP有了內置web服務器以方便本地測試,它能以微秒級的速度啟動。

  接下來的挑戰:我們怎樣更新在網絡上的講解PHP的教程?在PHP程序中最好的支持WebSocket的技術是什么?

  PHP生態系統

  擁有一個好的語言是很好的,但是擁有一個好的生態系統更棒。在過去的幾年PHP生態系統演變了很多。

  Git

  對于Git我不想討論太多,Git被到處使用,PHP很快擁抱了Git。幾乎所有PHP類庫、框架和產品都在使用Git,包括PHP本身。

  Composer

  兩年前,我想去掉我在symfony 1中hack的丑陋PEAR代碼以支持插件。我想替換成能管理項目依賴的東西,而不是一個像PEAR一樣的整體的安裝,所以我試著尋找能管理軟件依賴的最佳的算法。我幾乎嘗試了所有可能:從Perl到Ruby,從Debian到Redhat。結果沒有讓我滿意的,只有我自己的解決方案恰巧能工作…當然這只是我的經驗只談。之后我偶然發現了ZYpp,就是它了。ZYpp使用布爾可滿足性問題解來管理依賴。多虧了Nils AdermannJordi Boggiano的辛苦工作,PHP現在有了做好的管理依賴的工具–Composer

  是的,PHP比其他語言有了更好的依賴管理工具。

  由于有了Git,Composer,和PHP內置web服務器,我們更容易下載/測試/安裝一個PHP項目。

  想測試Symfony(使用PHP5.4)?

 

復制代碼代碼如下:

$ composer.phar create-project symfony/framework-standard-edition
$ cd framework-standard-edition
$ ./app/console server:run 

 

想測試Silex?

 

復制代碼代碼如下:

$ composer.phar create-project fabpot/silex-skeleton
$ cd silex-skeleton
$ php -S localhost:8888 -t web/ 

 

還不知道Composer?你應該了解下它了。

  瀏覽下主要的Composer倉庫Packagist,它已經擁有1900多個包,且它們在不到三個月的時間里被安裝了上百萬次。

  接下來的挑戰:在下一個PHP版本里內置Composer?

  合作

  社區合作是本文說的重點,也是我最引以為豪的地方。我們開始看到PHP項目中更好的合作,甚至大項目也是如此,大到你可以忽略其他項目了。

  phpBB,Drupal,ez Publish,Symfony,和很多其他項目(比如phpDocumentor, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard等等)都在共享代碼。是的,他們彼此是競爭者,但是他們都理解彼此合作是很重要的。Composer能很好地促進這種合作。

  接下來的挑戰:說服更多的項目加入這個趨勢中來。

  結論

  讓我再重申一次,PHP可能不是最好的編程語言,我也是第一個說出它的怪處的,但是PHP是迄今為止最好的web平臺。

譯自:PHP is much better than you think


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广昌县| 通辽市| 平顶山市| 北京市| 英山县| 遵义县| 唐山市| 宁明县| 秭归县| 伊宁县| 寻乌县| 特克斯县| 赣榆县| 新昌县| 清流县| 利津县| 吉安市| 萝北县| 文化| 敦煌市| 墨竹工卡县| 鄂伦春自治旗| 新泰市| 乾安县| 道孚县| 城口县| 定襄县| 湘潭市| 仁布县| 台山市| 安顺市| 贡觉县| 刚察县| 阳泉市| 交城县| 龙里县| 金溪县| 东方市| 民乐县| 南京市| 涪陵区|