Спецификация языка PHP?

Я знаю, что есть официальный документ для Java (JLS), я хотел бы знать, если это также относится к языку PHP. Я нашел раздел «Справочник по языку» в руководстве по PHP, но он выглядит не так подробно, как JLS.

Дело в том, что у меня есть хорошее практическое знание PHP, но я ужасно смущен тем, что действительно происходит под капотом.

Если нет официального документа, можете ли вы порекомендовать мне несколько хороших книг для чтения?

Solutions Collecting From Web of "Спецификация языка PHP?"

Теперь объявлен первоначальный проект спецификации языка PHP. Введение спецификации гласит:

Эта спецификация предназначена для предоставления полного и краткого определения синтаксиса и семантики языка PHP, подходящего для использования следующим образом:

  • Исполнители компилятора PHP
  • Разработчики тестового набора для языка PHP
  • Программисты, пишущие PHP-код

На данный момент библиотека времени выполнения исключена, так как это описано на сайте http://www.php.net . Таким образом, все прямые ссылки на библиотечные объекты имеют заполнители формы (§xx).

См. Также последнюю версию проекта .

Не так давно была обсуждена эта тема в списке рассылки внутренних дел.

Вы можете проверить статус там.

Начальный пост: 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

Здравствуй! […]

Вы не единственный, кто думает об этом. Но до сих пор никто не перестал думать об этом, чтобы на самом деле это сделать 🙂

– Станислав Малышев, архитектор программного обеспечения

Из того, что я читал в Википедии, как у PHP, так и Perl5 есть общее, что они являются «языками», которые полностью определяются одной единственной реализацией. Язык – это то, что делает интерпретатор. Ни один из них не похож на C или C ++ или Java или ECMAScript, которые являются стандартизованными языками со многими различными реализациями. (По-видимому, Perl6 будет отличаться и на самом деле будет иметь спецификацию. Никакая идея PHP также в один прекрасный день не сделает этот шаг.)

В этом сообщении сообщество HHVM объявило спецификацию для PHP: http://hhvm.com/blog/5723/announcing-a-specification-for-php

Теперь он находится в следующем репозитории Github: https://github.com/php/php-langspec

Для формально наклонной, подробная (исполняемая) семантика PHP доступна на сайте http://www.phpsemantics.org и будет представлена ​​завтра на конференции ECOOP 2014 в Швеции.

Из этой (датированной) публикации в блоге видно, что для PHP нет спецификации, например, для Java.

PHP и Java – это разные языки для разных целей, конечно, документация не соответствует одному и тому же стандарту. Я думаю, что php.net – лучшее место, чтобы найти то, что вы хотите, также иметь хорошие книги, все зависит от ваших потребностей.

Java также имеет отличные книги и, конечно же, Java Specification .

PHP не имеет спецификации, но имеет техническое руководство и множество примеров. Что еще тебе нужно? Возможно, определенная книга, попытайтесь найти Wiley Publishing, они печатают книги о PHP и других языках.