展望PHP7:PHP需要改变什么

开发 后端
本文是从Vic Cherubini 的博文《What PHP Needs to Change》翻译而来,作者从自身对PHP语言的理解和喜爱为出发点,谈了对PHP7的展望,文章列举了作者认为PHP需要改变的地方,并衷心的希望PHP的未来更美好!

程序员(一般)定义好的编程语言是他们知道最好或最经常使用。我是一个PHP程序员,约翰是一个JavaScript程序员,DHH是一个Ruby程序员,施瓦茨和兰德尔是一个Perl程序员。 每个不同程序员看待问题都是不一样的,但是总有一两个会被共同认为是最好的。

每当听到PHP被不尊重的时候,作为一个PHP开发人员,感觉很受伤。

虽然我们必须使用PHP为一个用于Web应用程序的语言,但它是一个烂语言,其使用不应予以鼓励,或支持超出了必要。

哎哟,听说我日常使用的语言,被给予很烂的评价时候,有人可能会说你不应该管其他人对你选择的语言的评价,只要自己认可就行。我想我真的不应该吗,而且该声明暗示的是,不仅是语言很烂,开发商烂,而且我们PHP开发者也烂。

那么,究竟应该怎么做才关闭他人的大嘴巴呢?我们能否使PHP语言受到尊重? 我们能否让PHP开发人员受到尊重? 让我们来分析某些方面我们可以做到这一点。

一、打破一切

PHP7要打破一切。 PHP开发人员应该接受打破版本之间向下兼容的定律。只要不允许大量的向后兼容,PHP7将是一个高度尊重的语言。

1、创建一个具体的核心语言

删除所有库方法,并保持在对象集中的核心方法。 您应该能够编写无需任何外部库或扩展PHP7和对基本输入/输出,字符串处理和数学一个很好的完整的语言。库以外的任何应该通过批准扩展。

2、一切都当作一个对象

以从Ruby,Smalltalk和(主要)的Java对象,并把它一切当作对象。 整数是对象,字符串是对象,他们每个人都可以操作的方法, 我不相信PHP需要的Ruby和Smalltalk在对象之间传递彼此讯息的观念,而调用对象的方法才是最好的。

3、一致的命名方法和类

由于PHP的最大的抱怨之一是不断要检查,(needle,haystack) 或(haystack, needle),或some_function(),或function_some(),或someFunction(),一个一致的格式需要制定。

4、让事情严格

 尝试传递到一个方法浮动字符串? 这是一个警告。

5、 一切是Unicode

在PHP6中的所有字符串都是Unicode,这很好,我主张PHP7也应该保持。

6、中央启动点

创建一个主类或初始化,所有代码执行源于此。

7、清理C代码

我不是一个C的专家,但如果你比较了解Ruby的​​C代码到PHP的C代码,可以很容易地了解了PHP与Ruby的​​内部。 我非常熟悉PHP,所以我自己的写扩展更容易。

8、摆脱eval()

eval()是邪恶的。 如果你正在使用它,那么这是一个错的主意:这将打破PHPUnit,抛弃它从现在开始。

9、支持操作符重载

因为一切都是对象,开发者只需掌握操作对象的方法即可。

10、允许的方法签名

允许真正的方法签名,所以程序员可以有不同的参数列表或返回类型的同名方法。

 

  1. class A {   
  2. public int function doSomething(int $a, float $b) {   
  3. // Same as $a->*($b->to_int());   
  4. int $c = $a * $b->to_int();   
  5. return $c;   
  6. }   
  7. public float function doSomething(int $a, float $b, float $c) {   
  8. // Same as calling $a->*($b->*($c)); since * is a method on each object $a and $b.   
  9. float $d = $a * $b * $c;   
  10. return $d;   
  11. }   
  12. }  

 

11、建立一个PHP虚拟机(PVM)

我不能完全肯定这是可能的,因为我不是一个语言设计师,但它会是不错的一个PHP虚拟机。 它可以执行PHP字节码,并允许一个明确的堆和堆栈。

12、删除copy-on-write (COW)

COW是一个相当陌生的概念,,如果你不知道它的存在,以新的开发,就可能导致问题。

13、PHP官方发布规格

类似于W3C HTML5规范,PHP的规格将允许开发人员实现自己的PHP版本,并确保有具体的例子来编译。

二、尊重语言

应努力使语言得到尊重。 我们应尽量招募开发者做出具有非常强大功能的PHP7。 我们应该释放巨大的代码的安全,易于阅读,并教新的开发者以正确的方式编程。

我不知道Ruby的疯狂,但我尊重Ruby语言。 我看到它的力量,我看在Ruby on Rails是一个非常好的框架,它只是我不是喜欢的。如果我们能获得具有很好威望的开发商认可或尊重,PHP就会走的更远。

三、尊敬开发人员

从上文的理解,我们需要一个非常德高望重的PHP开发核心团队。 他们发布代码,举办讲座,向人们展示了“正确的方式”做事,这支团队将很快的受到不少开发商的尊重。

结论

我兴奋PHP的未来。 我很怀疑我的想法会被执行,但我真的相信他们会帮助整个社会。 我感到非常兴奋,当 世界第二大的网站宣布,他们正在帮助PHP建立伟大的社区。 PHP是不会消失,他会越来越好,只要我们努力提高它,改善它,终有一天PHP会成为受开发者普遍尊重的语言。

最后,我不是一个语言设计师。 我的想法可能会被认为完全胡说。 如果我不正确的地方,请礼貌地让我知道,我会很高兴地谈论它。 让我们共同努力,使PHP成为备受尊重,功能强大,快速,高效的语言。编译若有差错,欢迎指正!

【编辑推荐】

  1. 分享PHP网站建设的流程与步骤
  2. PHP新手 学习基本语法
  3. PHP中IIS7实现基本身份验证的方法
  4. PHP新手 详细介绍PHP代码规范
  5. 介绍生成PHP网站页面静态化的方法
责任编辑:于铁 来源: 大家论坛
相关推荐

2011-07-01 08:41:12

PHP

2011-07-06 10:37:46

开发技术周刊

2015-10-28 13:30:15

PHP7性能揭秘

2015-09-18 11:29:50

PHP7革新性能

2018-07-12 14:16:35

PHP7代码SQL

2019-03-08 08:55:16

PHP7PHP5web安全

2015-12-03 11:45:31

PHP7 发布

2017-09-28 11:54:11

PHP

2015-09-16 15:01:30

PHP内核

2016-03-16 15:21:30

2015-11-25 09:44:14

PHP 7推迟发布

2015-03-30 15:00:34

PHPPHP五件事

2011-12-15 09:00:51

PHP 7

2017-01-05 11:28:29

白熊技术简爆/Swoo

2015-12-07 09:23:13

PHP 7速度正式发布

2020-09-15 09:48:41

PHP

2017-01-03 19:48:33

2020-07-23 08:21:25

PHP开发人员MVC

2010-12-30 09:17:57

PHP程序

2016-06-30 13:14:09

php继承开发
点赞
收藏

51CTO技术栈公众号