2011-01-13 6 views
20

Ich weiß, dass es ein offizielles Dokument für Java (JLS) gibt, ich würde gerne wissen, ob es auch die PHP-Sprache ist. Ich habe den Abschnitt "Sprachreferenz" im PHP-Handbuch gefunden, aber er sieht nicht so detailliert aus wie der JLS.PHP Sprachspezifikation?

Die Sache ist, ich habe gute praktische Kenntnisse von PHP, aber ich bin unglücklich ahnungslos darüber, was wirklich unter der Haube geschieht.

Wenn es kein offizielles Dokument gibt, können Sie mir gute Bücher zum Lesen empfehlen?

+0

Ich habe immer das Online-PHP-Handbuch als eine hervorragende Referenz gefunden. Sie können jedoch einen Punkt haben; Ich kann mir kein direkt ähnliches Dokument in PHP vorstellen. – Spudley

Antwort

15

An initial draft specification für die PHP-Sprache wurde jetzt announced. Die Einführung der Beschreibung lautet wie folgt:

Diese Spezifikation soll eine vollständige und präzise Definition der Syntax und Semantik der Sprache PHP, geeignet für die Verwendung durch die folgenden bereitzustellen:

  • Implementierer eines PHP-Compiler
  • Implementers einer Testsuite für die PHP-Sprache
  • Programmierer schreiben PHP-Code

Vorerst wurde die Laufzeitbibliothek ausgeschlossen, da dies unter www.php.net dokumentiert ist. Daher haben alle Vorwärtsverweise auf Bibliothekseinrichtungen Platzhalter des Formulars (§xx).

Siehe auch the latest version of the draft.

0

Von diesem (datiert) weblog post scheint es, dass es keine Spezifikation für PHP gibt, wie es einen für Java gibt.

0

PHP und Java sind verschiedene Sprachen für verschiedene Zwecke, natürlich folgt die Dokumentation nicht dem gleichen Standard. Ich denke, php.net ist der beste Ort, um zu finden, was auch immer Sie wollen, haben auch gute Bücher, alles hängt davon ab, was Sie brauchen.

Java hat auch große Bücher, und natürlich die Java-Spezifikation.

PHP hat keine Spezifikation, aber ein technisches Handbuch und viele Beispiele. Was brauchst du mehr? Vielleicht ein bestimmtes Buch, versuchen Sie, nach Wiley Publishing Sie drucken Bücher über PHP und andere Sprachen.

8

Es gab eine Diskussion über dieses Thema auf der Internals-Mailingliste vor nicht allzu langer Zeit.

Sie können den Status dort überprüfen.

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

Liebe Interna

Nach neidvoll auf Pythons suchen Grammatik (http://docs.python.org/dev/reference/grammar.html) Ich immer das Gefühl, dass PHP nicht durch auf viele interessante Meta-Projekte fehlt aus mit ein offizielles EBNF. [...]

und ein hoffentlich hilfreich folgen einige Grammatik beschreiben:

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

und Statistiken über die Angelegenheit:

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

Hallo ! [...]

Sie sind nicht der einzige, der über es denkt. Aber bisher niemand von bewegt, darüber nachzudenken zu tun es tatsächlich :)

- Stanislav Malyshev, Software-Architekt

+1

Um eine Sprachspezifikation zu haben, benötigen wir deutlich mehr als eine Grammatik. – Artefacto

+0

Artefacto hat Recht. Viele Themen, die nicht die Grammatik imho wissen müssten, könnten/sollten abgedeckt werden ... – Rolf

+0

@Rofl: Ja, mein Postweg, gerichtet auf "state of the", lass uns eine Sprachspezifikation für PHP erstellen Es gibt nur ein ziemlich altes (und zum Teil veraltetes) Buch über php core und einige Slideshows mit Vorträgen darüber. – edorian

4

Von dem, was ich lese auf Wikipedia, sowohl PHP und Perl5 gemeinsam ist, dass sie sind "Sprachen", die vollständig durch eine einzige Implementierung definiert sind.Die Sprache ist genau das, was der Dolmetscher tut. Keine sind wie C oder C++ oder Java oder ECMAScript, die standardisierte Sprachen mit vielen verschiedenen Implementierungen sind. (Offenbar Perl6 wird anders sein und tatsächlich eine Spezifikation haben. Keine Ahnung von PHP wird auch einen Tag diesen Schritt machen.)

1

Für die formal geneigt ist eine detaillierte (ausführbare) Semantik von PHP ist verfügbar unter www.phpsmantics.org und wird morgen auf der ECOOP 2014 Konferenz in Schweden vorgestellt.