2011-01-13 2 views
20

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

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

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

+0

Я всегда находил, что онлайн-руководство по PHP является отличной ссылкой. Однако у вас может быть точка; Я не могу придумать прямо подобный документ в PHP для Java. – Spudley

ответ

15

An initial draft specification для языка PHP теперь announced. Введение спецификации выглядит следующим образом:

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

  • реализующих из PHP компилятора
  • реализаторов из тестового набора для языка PHP
  • программистов, пишущих PHP кода

В настоящее время библиотека времени выполнения исключена, поскольку она зарегистрирована в www.php.net. Таким образом, все прямые ссылки на библиотечные объекты имеют заполнители формы (§xx).

См. Также the latest version of the draft.

0

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

0

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

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

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

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

Привет ! [...]

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

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

+1

Чтобы иметь спецификацию языка, нам потребуется значительно больше грамматики. – Artefacto

+0

Artefacto является правильным. Множество тем, которые не требуют знать грамматику imho, могут/должны быть покрыты ... – Rolf

+0

@ Rofl: Да, мой почтовый путь направлен на «состояние« давайте создадим спецификацию языка для php ». есть только 1 довольно старая (и для хорошей части устаревшей) книга о php core и некоторые слайд-шоу об этом. – edorian

4

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

1

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

Смежные вопросы