2011-01-09 8 views
1

PHP wird zeilenweise ausgeführt oder einfach wie Java, dass es von Byte Code zu Binärcode Datei für Datei kompiliert wurde?Über die PHP-Ausgabe, es ist Zeile für Zeile oder Datei für Datei?

+0

Zeilen sind in PHP (oder C [neben vorverarbeiteten Zeug], Java ...) im Gegensatz zu Cobol oder in der Regel Montage nicht von Bedeutung . Es gibt Zeilen, die die Arbeit des menschlichen Programmierers erleichtern, aber tatsächlich (ein bisschen!) Die erste Parsing-Arbeit des Compilers/Interpreters verlängern. Nach dem Kompilieren oder Parsing in Bytecode spielen Zeilen keine Rolle. –

Antwort

2

Die gesamten Dateien werden geparst, bevor irgendetwas ausgeführt wird. Nach diesem Parser führt PHP Anweisung für Anweisung aus. Wenn Ihre erste Anweisung ein Require/Include ist, öffnet PHP die Datei und liest ihre Anweisungen (geschichtet)

2

PHP übersetzt Quellen in Opcode und wertet sie danach Anweisung für Anweisung aus.

2

Es ist Anweisung durch Anweisung ausgeführt. Aber bevor es ausgeführt wird, wird die gesamte Datei analysiert. Daher tritt ein Syntaxfehler auf, bevor irgendetwas ausgeführt wird.

0

Sie können sehen, PHP wird Zeile für Zeile nicht ausgeführt, weil Sie Syntaxfehler von der ganzen Datei erhalten, noch bevor die erste Zeile ausgeführt wurde (auch in Funktionen, die gar nicht aufgerufen werden).

Wenn Sie ein Beispiel für eine zeilenweise Sprache wünschen, finden Sie in der Windows-Befehlszeile (gilt auch für Unix-SH-Dateien) Batch-Dateisprache - Sie können alles in Zeilen eingeben, die nicht ausgeführt werden (zum Beispiel, weil Sie beenden die Datei vor der Zeile wird geparst) und Sie werden keinen Fehler bekommen.

+0

Nun, die gesamte Datei wird vor der iterativen Ausführung geparst. – diagonalbatman

Verwandte Themen