PHP比你想象的好得多

2022-10-06 11:24:12 字數 2480 閱讀 6481

有很多對於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),這一點是毋庸置疑的。

php5.0(2023年發布)帶來了很實用的物件模型…等等,我在說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生態系統演變了很多。

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

composer

兩年前,我想去掉我在symfony 1中hack的醜陋pear**以支援外掛程式。我想替換成能管理專案依賴的東西,而不是乙個像pear一樣的整體的安裝,所以我試著尋找能管理軟體依賴的最佳的演算法。我幾乎嘗試了所有可能:從perl到ruby,從debian到redhat。結果沒有讓我滿意的,只有我自己的解決方案恰巧能工作…當然這只是我的經驗只談。之後我偶然發現了zypp,就是它了。zypp使用布林可滿足性問題解來管理依賴。多虧了nils adermann和jordi 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?

合作 社群www.cppcns.com合作是本文說的重點,也是我最引以為豪的地方。我們開始看到php專案中更好的合作,甚至大專案也是如此,大到你可以忽略其他專案了。

phpbb,drupal,ez publish,symfony,和很多其他專案(比如phpdocumentor, phpunit, behat, zikula, propel, doctrine, midgard等等)都在共享**。是的,他們彼此是競爭者,但是他們都理解彼此合作是很重要的。composer能很好地促進這種合作。

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

譯自:php is much better than you think

本文標題: php比你想象的好得多

本文位址: /wangluo/php/116502.html

PHP比你想象的好得多

有很多對於php的抱怨,甚至這些抱怨也出自很多聰明的人。當jeff atwood寫下對於php的另一篇抱怨文章之後,我思考了下php的好的方面。這些抱怨最大的問題是他們出自很多仍在使用舊版本php的人。他們或許是不願意關心或許是不願意承認php不管在語言層面還是在社群層面都在以很快的速度演變。實際上...

PHP比你想象的好得多

有很多對於php 的抱怨,甚至這些抱怨也出自很多聰明的人。當 jeff atwood 寫下對於 php 的另一篇抱怨文章之後,我思考了下 php 的好的方面。這些抱怨最大的問題是他們出自很多仍在使用舊版本 php 的人。他們或許是不願意關心或許是不願意承認 php 不管在語言層面還是在社群層面都在以...

PHP比你想象的更好

翻譯自 fabien potencier july 04,2012 對php的吐槽隨處可見,包括一些來自smart guys的吐槽。jeff atwood 的一篇吐槽文,讓我開始思考php好的部分。其實很多吐槽來自過去人們對php的影響,人們不願承認或沒有留意到,php在語言和社群兩個方面,實際上都...