PHP语言规范?

时间:2011-01-13 12:40:32

标签: php specifications

我知道有一个Java(JLS)的官方文档,我想知道它是否也是PHP语言的情况。我在PHP手册中找到了“语言参考”部分,但它看起来并不像JLS那么详细。

问题是我对PHP有很好的实践知识,但我对于幕后真正发生的事情一无所知。

如果没有任何官方文件,你能推荐一些好书吗?

7 个答案:

答案 0 :(得分:17)

PHP语言的

An initial draft specification现已announced。该规范的介绍如下:

  

本规范旨在提供PHP语言的语法和语义的完整而简明的定义,适用于以下内容:

     
      
  • PHP编译器的实现者
  •   
  • PHP语言测试套件的实施者
  •   
  • 编写PHP代码的程序员
  •   
     

目前,已排除运行时库,因为www.php.net记录了这一点。因此,所有对图书馆设施的前向引用都有表格的占位符(§xx)。

另见the latest version of the draft

答案 1 :(得分:8)

不久前在内部邮件列表上就该主题进行了讨论。

您可以查看那里的状态。

发帖:http://marc.info/?l=php-internals&m=129379585417113&w=2

  

亲爱的内部成员

     

羡慕地看着蟒蛇语法   (http://docs.python.org/dev/reference/grammar.html)我一直有这种感觉   PHP没有错过许多有趣的元项目   有正式的EBNF。   [...]

和一个希望有用的后续描述一些语法:

http://marc.info/?l=php-internals&m=129387252319019&w=2

统计数据涉及此事:

http://marc.info/?l=php-internals&m=129383062812273&w=2

  

嗨!   [...]

     

你不是唯一一个在思考的人   它。但到目前为止还没有人离开   考虑实际做到这一点   :)

     

- Stanislav Malyshev,软件架构师

答案 2 :(得分:4)

根据我在维基百科上看到的内容,PHP和Perl5的共同之处在于它们是“语言”,它们完全通过一个单独的实现来定义。语言正是解释器所做的。它们都不是C或C ++或Java或ECMAScript,它们是具有许多不同实现的标准化语言。 (显然Perl6会有所不同,实际上有一个规范。不知道PHP有朝一日也会这么做。)

答案 3 :(得分:2)

在这篇文章中,HHVM社区宣布了PHP规范:http://hhvm.com/blog/5723/announcing-a-specification-for-php

它现在位于以下Github回购:https://github.com/php/php-langspec

答案 4 :(得分:1)

对于正式倾向,PHP的详细(可执行)语义可在www.phpsemantics.org上获得,并将于明天在瑞典的ECOOP 2014大会上展示。

答案 5 :(得分:0)

从这个(过时的)weblog post看来,PHP没有规范,就像Java一样。

答案 6 :(得分:0)

PHP和Java是用于不同目的的不同语言,当然文档不遵循相同的标准。我认为php.net是找到你想要的最好的地方,也有好书,这完全取决于你的需求。

Java也有很好的书籍,当然还有 Java规范

PHP没有规范,但有一本技术手册和大量示例。你还需要什么?也许是一本特定的书,试着寻找 Wiley Publishing 他们打印有关PHP和其他语言的书籍。