但是它能让你完成事情(get things done)

时间:2022-04-13 03:41:06

标签:api接口   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),这一点是毋庸置疑的。

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生态系统演变了很多。

对付Git我不想讨论太多,Git被处处使用,PHP很快拥抱了Git。几乎所有PHP类库、框架和产品都在使用Git,包孕PHP自己。

两年前,我想去失我在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)?

想测试Silex?

还不知道Composer?你应该了解下它了。

浏览下主要的Composer货仓 Packagist ,它已经拥有1900多个包,且它们在不到三个月的时间里被安置了上百万次。

接下来的挑战:不才一个PHP版本里内置Composer?

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

phpBB,Drupal,ez Publish,Symfony,,和很多其他项目(好比phpDocumentor, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard等等)都在共享代码。是的,他们相互是竞争者,但是他们都理解相互合作是很重要的。Composer能很好地促进这种合作。

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

让我再重申一次,PHP可能不是最好的编程语言,我也是第一个说出它的怪处的,但是PHP是迄今为......
分享下本身比来做的圆柱模板行业网站:

php写api接口处事端

标签:api接口   php