Regarding earlier note by @purkrt :
> I would like to stress out that the opening tag is "<?php[whitespace]", not just "<?php"
This is absolutely correct, but the wording may confuse some developers less familiar with the extent of the term "[whitespace]".
Whitespace, in this context, would be any character that generated vertical or horizontal space, including tabs ( \t ), newlines ( \n ), and carriage returns ( \r ), as well as a space character ( \s ). So reusing purkrt's example:
<?php/*blah*/ echo "a"?>
would not work, as mentioned, but :
<?php /*php followed by space*/ echo "a"?>
will work, as well as :
/*php followed by end-of-line*/ echo "a"?>
<?php /*php followed by tab*/ echo "a"?>
I just wanted to clarify this to prevent anyone from misreading purkrt's note to mean that a the opening tag --even when being on its own line--required a space ( \s ) character. The following would work but is not at all necessary or how the earlier comment should be interpreted :
/*php followed by a space and end-of-line*/ echo "a"?>
The end-of-line character is whitespace, so it is all that you would need.