当前位置: 移动技术网 > IT编程>开发语言>PHP > PHP比你想象的好得多

PHP比你想象的好得多

2018年07月11日  | 移动技术网IT编程  | 我要评论

彩票开奖遇罕见事故,创业加盟网站大全,ruby卢春如

有很多对于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使用解来管理依赖。多亏了和的辛苦工作,php现在有了做好的管理依赖的工具–。

  是的,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仓库,它已经拥有1900多个包,且它们在不到三个月的时间里被安装了上百万次。

  接下来的挑战:在下一个php版本里内置composer?

  合作

  社区合作是本文说的重点,也是我最引以为豪的地方。我们开始看到php项目中更好的合作,甚至大项目也是如此,大到你可以忽略其他项目了。

  phpbb,drupal,ez publish,symfony,和很多其他项目(比如phpdocumentor, phpunit, behat, zikula, propel, doctrine, midgard等等)都在共享代码。是的,他们彼此是竞争者,但是他们都理解彼此合作是很重要的。composer能很好地促进这种合作。

  接下来的挑战:说服更多的项目加入这个趋势中来。

  结论

  让我再重申一次,php可能不是最好的编程语言,我也是第一个说出它的怪处的,但是php是迄今为止最好的web平台。

译自:

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网