PHP Conference Nagoya 2025

Separazione delle istruzioni

Come in C od in Perl, il PHP richiede che le istruzioni siano chiuse dal punto e virgola al termine di ogni istruzione. I tag di chiusura di un blocco di codice PHP implicano in automatico il punto e virgola; non occorre, pertanto, inserire il punto e virgola per chiudere l'ultima riga di un blocco PHP. Il tag di chiusura del blocco include il newline immediatamente seguente, se presente.

Example #1 Esempio che mostra il tag di chiusura che racchiude una nuova riga

<?php echo "Un po' di testo"; ?>
Nessuna nuova riga
<?= "Ma nuova riga ora" ?>

Il precedente esempio visualizzerà:

Un po' di testoNessuna nuova riga
Ma nuova riga ora

Esempi di accesso ed uscita dal parser PHP:

<?php
echo 'Questo è un test';
?>

<?php echo 'Questo è un test' ?>

<?php echo 'Qui è stato omesso il tag di chiusura';

Nota:

Il tag di chiusura di un blocco PHP alla fine di un file è opzionale, ed in alcuni casi è utile ometterlo quando si utilizzano le funzioni include o require, in modo che spazi indesiderati non vengano generati alla fine dei file, e quindi sia ancora possibile aggiungere intestazioni alla risposta HTTP. È utile anche quando si usa l'output buffering, e non si vogliono avere spazi indesiderati alla fine delle parti generate dai file inclusi.

add a note

User Contributed Notes 3 notes

up
65
Krishna Srikanth
18 years ago
Do not mis interpret

<?php echo 'Ending tag excluded';

with

<?php echo 'Ending tag excluded';
<
p>But html is still visible</p>

The second one would give error. Exclude ?> if you no more html to write after the code.
up
6
M1001
2 years ago
You are also able to write more than one statement in one line, just separating with a semicolon, example:

<?php
echo "a"; echo "b"; echo "c";
#The output will be "abc" with no errors
?>
up
1
moonlander12341234 at gmail dot com
8 months ago
A user from stack overflow had a nice explanation for the trailing newline, simply put,

<?= "Hello" ?>
Jello

would output,

HelloJello

meaning that implicit newline from the ?> tag is not there, however one can simply add that to the code such as,

<?= "Hello" ?>

Jello

the space between acts as a new line after the closing tag
To Top