我知道有一个Java(JLS)的官方文档,我想知道它是否也是PHP语言的情况。我在PHP手册中找到了“语言参考”部分,但它看起来并不像JLS那么详细。
问题是我对PHP有很好的实践知识,但我对于幕后真正发生的事情一无所知。
如果没有任何官方文件,你能推荐一些好书吗?
答案 0 :(得分:17)
An initial draft specification现已announced。该规范的介绍如下:
本规范旨在提供PHP语言的语法和语义的完整而简明的定义,适用于以下内容:
- PHP编译器的实现者
- PHP语言测试套件的实施者
- 编写PHP代码的程序员
目前,已排除运行时库,因为www.php.net记录了这一点。因此,所有对图书馆设施的前向引用都有表格的占位符(§xx)。
答案 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和其他语言的书籍。