Heim > php教程 > php手册 > 展望PHP7:PHP需要改变什么

展望PHP7:PHP需要改变什么

WBOY
Freigeben: 2016-06-13 11:13:45
Original
963 Leute haben es durchsucht

程序员(一般)定义好的编程语言是他们知道最好或最经常使用。我是一个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、允许的方法签名

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

<ol class="dp-c">
<li class="alt"><span><span class="keyword">class</span><span> A {   </span></span></li>
<li>
<span class="keyword">public</span><span> int </span><span class="keyword">function</span><span> doSomething(int </span><span class="vars">$a</span><span>, float </span><span class="vars">$b</span><span>) {   </span>
</li>
<li class="alt">
<span class="comment">// Same as $a->*($b->to_int());  </span><span> </span>
</li>
<li>
<span>int </span><span class="vars">$c</span><span> = </span><span class="vars">$a</span><span> * </span><span class="vars">$b</span><span>->to_int();   </span>
</li>
<li class="alt">
<span class="keyword">return</span><span> </span><span class="vars">$c</span><span>;   </span>
</li>
<li><span>}   </span></li>
<li class="alt">
<span class="keyword">public</span><span> float </span><span class="keyword">function</span><span> doSomething(int </span><span class="vars">$a</span><span>, float </span><span class="vars">$b</span><span>, float </span><span class="vars">$c</span><span>) {   </span>
</li>
<li>
<span class="comment">// Same as calling $a->*($b->*($c)); since * is a method on each object $a and $b.  </span><span> </span>
</li>
<li class="alt">
<span>float </span><span class="vars">$d</span><span> = </span><span class="vars">$a</span><span> * </span><span class="vars">$b</span><span> * </span><span class="vars">$c</span><span>;   </span>
</li>
<li>
<span class="keyword">return</span><span> </span><span class="vars">$d</span><span>;   </span>
</li>
<li class="alt"><span>}   </span></li>
<li><span>}  </span></li>
</ol>
Nach dem Login kopieren

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成为备受尊重,功能强大,快速,高效的语言。编译若有差错,欢迎指正!


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage