作者:九九九丶 | 来源:互联网 | 2013-04-18 15:19
2012是PHP讨论交流非常优秀的一年,不仅由于很多迫切的新功能被加入到了PHP5.4当中,而且无数的项目,都上升了一个新的高层次。本篇我想带这大家看看过于PHP带来了什么问题,并且展望下2013年PHP可能会为我们带来...
2012是PHP讨论交流非常优秀的一年,不仅由于很多迫切的新功能被加入到了PHP5.4当中,而且无数的项目,都上升了一个新的高层次。
本篇我想带这大家看看过于PHP带来了什么问题,并且展望下2013年PHP可能会为我们带来些什么。
需要和哪些做抗争?
这个可能对你来说很惊讶,但是很多人对那些PHP开发者以及语言这个整体都会产生负面的情绪。如果你由于某种意义上的一点压力,在过去几年已经深入学习Ruby,你应该能够确切明白我的意思。
“然而,在你做任何的改变之前,你需要问你自己‘为什么PHP会有这样一个污名’”
嗯,就想生活中许多重要的问题,没有明确的答案。在你进行了大量在线搜索以后,你会发现一些关于PHP的争吵,大概有80%以这样或那样的形式反对PHP的争吵都非常愚昧。
初学者
这里的初学者是那些根本不知道PHP是如何工作的人,就像提这种问题的“为什么PHP不能监听一个按钮的事件”,和AJAX的类似的一些问题。
一种语言解决所有问题
接下来,有这些人不知道其他语言或框架比他们目前,这些制造争吵的形形色色的人,例如就像这些“Rails比PHP更简单”。
与PHP4抗争
第三种是那些这些年没有跟上PHP的进步的人,想法他们仍然跟语言在做厮杀,这个已经存在多年了。声明的原因就像“PHP不是面向对象的”或者“PHP糟透了,他并不支持命名空间”,你懂得。
扩展
最后,我们有一些聪明的开发者,他们相信“PHP不能定量”或者“PHP没有规范”,这些完全是错误的,扩展和语言关系并不大,更多和服务器和应用程序架构有关,至于标准,你可以快速的去谷歌搜索下PHP-FIG看看
什么是PHP-FIG?
“PHP-FIG 的全名是 PHP Framework Interoperability Group 中文真要翻译的话,我们就叫他 PHP 通用性框架小组吧(说实话翻成中文后的感觉真的蛮怪的XD)。这个小组从 2009 开始,由几个框架的开发者所组成,一直扩展到现在已超过 20 多位成员。而他们原先是取名为 “PHP Standards Group” 会有这个小组最主要的原因是希望,PHP 能够有个最低程度的共通编码风格可以依循,以避免以免各家发展各家的写法,让使用各种 Framework 或是 CMS 的开发者得要各自去了解不同的风格,哪天习惯后得再去使用其他套时,还得再重新学习。”
这些争论都是一个不真的事实,通过网络的要么是错误或者已经更新了。
PHP不是完美的
每个评论都有他的道理,然后,PHP不是完美的,PHP核心自身函数的命名都不是一致的,这些争论是有效的。
这些不一致并非没有原因,虽然PHP最初只是一个模板语言,自从他诞生以来,经历了多次的转变,变成了一个函数式的语言,就像C那样,然后就完全面向对象,如同我们今天所享受的那样。一路上,PHP一致是很多人维系补充。现在你可能会问,“为什么不忽略掉不好的部分呢?”
这个问题和答案是一样的,为什么我们仍然使用老版本的浏览器构件我们的网站。不要误会我,不像把它丢掉,但这样做是需要一定的实践的。希望随着时间的推移,PHP会晋升到OOP,并且对象可以使用::而不是尴尬的->语法,所以代替array_push($arr, "Value");你可以像$arr.push("Value");这么写。
不要担心,事情正已经慢慢发生改变,只要看看PHP5.5新版本。老版本的MySQL函数扩展将会被废弃掉,支持新的面向对象的写法。
目前
现在已经代替了过去,让我们跳转到现在来。有一些很酷的项目和活动,其中一部分借鉴了其他语言,为推动PHP到了下一个层次。
让我们考虑下面的:
一个PHP关系包管理工具,类似Ruby的Bundler和NodeJS的NPM,通过配置文件检查你的包关系情况,通过简单的命令行将他们快速添加到你的项目中去。
尽管这个项目去年才开始,但2013年将会成为PHP的一个热点
Laravel会将你带入类似Ruby的开发体验当中去,这个框架在2013年将会受到更多的关注,第四个发布版本含带了:组件、更好的测试、简单的mail和控资源制器以及一些其他的特性,在这一年内保持关注。
2012年成功发布了PHP5.4,含有了很多不错的特性,例如内建服务器、traits和improved array语法(http://www.php100.com/html/itnews/it/2012/0723/10730.html),5.5中仍然含有不少不错的特性:
测试驱动开发
最后,让我们讨论一下测试你的代码。虽然不可否认有点迟了比赛,在2012年,我们的社区看到广泛采用测试驱动开发方法。我可以组成一个增长的百分比,但我觉得一个更好的指示的真理是简单地环顾不同dev网站和论坛。你肯定会看到一个钉!当谈到测试在PHP,PHPUnit)是普遍接受的标准。