tags:

views:

96

answers:

4

Example:

<?php $formElement->display()?>

Is this fine, or should I provide a ; ? Well I guess that the PHP interpreter is clever enough to see that the line is finished and the expression done because of the ?> at the end. Right?

+2  A: 

Simple answer: yes. It's okay to only have one statement without a semicolon inside PHP tags.

Franz
+4  A: 

No, the closing ?> will automatically close the line.

From the PHP Docs:

The closing tag of a block of PHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a PHP block.

Doug Neiner
+6  A: 

It is not required, but you should put it, as a good practice.

That way, the day you need to add another instruction after this one, it'll work fine.


And here is the manual's page that answers your question : Instruction separation (quoting, emphasis mine) :

As in C or Perl, PHP requires instructions to be terminated with a semicolon at the end of each statement.
The closing tag of a block of PHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a PHP block.
The closing tag for the block will include the immediately trailing newline if one is present.

Pascal MARTIN
If you run the code through the Tokenizer, PHP will not recognize the semicolon. See related answer here: http://stackoverflow.com/questions/2020445/what-does-mean-in-php/2020668#2020668
Gordon
+2  A: 

As you say, the PHP interpreter will cope as-is.

However, I'd say that adding the semicolon is probably slightly better practice, but that's just a personal coding preference.

middaparka