ConFoo: Call for paper is now Open

Séparation des instructions

Comme en C ou en Perl, PHP requiert que les instructions soient terminées par un point-virgule à la fin de chaque instruction. La balise fermante d'un bloc de code PHP implique automatiquement un point-virgule ; vous n'avez donc pas besoin d'utiliser un point-virgule pour terminer la dernière ligne d'un bloc PHP. La balise fermante d'un bloc inclura immédiatement un caractère de nouvelle ligne si un est présent.

Exemple #1 Séparation des instructions

<?php
    
echo 'Ceci est un test';
?>

<?php echo 'Ceci est un test' ?>

<?php echo 'Oubli de la balise fermante';

Note:

La balise fermante d'un bloc PHP à la fin d'un fichier est optionnelle, et parfois, il est utile de l'omettre lors de l'utilisation de la fonction include ou de la fonction require, car les espaces non désirés n'apparaîtront pas à la fin des fichiers, et ainsi, vous pourrez toujours ajouter des en-têtes à la réponse plus tard. C'est utile également si vous voulez utiliser l'affichage du buffer et que vous ne voulez pas voir d'espaces blancs ajoutés à la fin des parties générées par les fichiers inclus.

add a note add a note

User Contributed Notes 9 notes

up
81
Krishna Srikanth
8 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
2
pbarney
2 years ago
If you want to keep the newline after a closing tag in the output, just add a space after the closing tag, and the newline will not be ignored.
up
0
Kalimuthu
10 days ago
One thing to remember is, if you decide to omit the closing PHP tag, then the last line of the file should be ended with semi colon. If you add the closing tag then last line doesn't need to end with semi colon.

<?php
echo "First line";
echo
"Last line"

The above code throws error as it neither has closing tag nor semicolon ending. So it should be replaced with either of the below two

<?php
echo "First line";
echo
"Last line";

or

<?
php
echo "First line";
echo
"Last line" ?>
up
0
shojibur at gmail dot com
4 months ago
You have been missed semicolon.

Keep in mind if you did not put closing tag, must put semicolon at the end ,

<?php echo '<p>But html is still visible</p>';
up
-1
Karthik SWOT
19 days ago
The Second line
<?php echo 'This is a test' ?>
will be working properly without throw any errors.

You don't need to put ; at the end of statement if we using a single statement.

If we add more statement only it should be add like this,
<?php
echo 'This is a test'
echo 'This is second line'
?>

See, here also no need to put ; at the end of second line. Because there is no additional statements after.
up
-20
Jamal
6 months ago
@ oliwer dot urfriend at gmail dot com
It will give error as you you did not add a clsoing tag nor semi colon..here <?php echo '<p>But html is still visible</p>'
up
-33
james dot d dot noyes at lmco dot com
6 years ago
If you are embedding this in XML, you had better place the ending '?>' there or the XML parser will puke on you.  XML parsers do not like processing instructions without end tags, regardless of what PHP does.

If you're doing HTML like 90% of the world, or if you are going to process/interpret the PHP before the XML parser ever sees it, then you can likely get away with it, but it's still not best practice for XML.
up
-19
sriharsha dot suripeddi1250 at gmail dot com
4 months ago
Hi,  you missed the ";" in the <p> tag. please check that.
up
-42
oliwer dot urfriend at gmail dot com
8 months ago
<?php echo 'Ending tag excluded'; ?>
with
<?php echo 'Ending tag excluded';?>
<?php echo '<p>But html is still visible</p>'

if in this example i omitted the last closing tag then code gives error :(
To Top