RE: is <?= good?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 1:43 PM -0700 6/11/10, Daevid Vincent wrote:
 > -----Original Message-----
 > From: tedd [mailto:tedd.sperling@xxxxxxxxx]
 > In fact, my practice is to not only use <?php echo, but to enclose
 the echo argument with a (), like:

 > <?php echo("The answer is $answer");?>

 I am sure there will be some that think that my practice is an
 overkill, or not "good practice", but it's a good thing that we all
 have a choice. Make your choice to best serve how you want your code
 to look.

As per http://us3.php.net/echo

echo() is not actually a function (it is a language construct), so you are
not required to use parentheses with it. echo() (unlike some other language
constructs) does not behave like a function, so it cannot always be used in
the context of a function. Additionally, if you want to pass more than one
parameter to echo(), the parameters must not be enclosed within
parentheses.

So you might want to reconsider your coding practice/style here and use the
construct as designed or you might end up with a far worse scenario than
short-tags could ever provide. Something more along the Python "print"
debacle.

Also, for the love of God, please don't embed a variable into a literal
string and use preprocessing.

Do it like so:

<?php echo 'The answer is '.$answer; ?>

Daevid:

I'm aware that echo is a language construct and does not require the (). However, please note the reference you provided, namely:

http://us3.php.net/echo

They use "echo()" to describe the construct -- so, if they can use it, then I figure I'm in good company.

I also practice using () because it is easier for *me* to read, understand, and document my work. You are free to do as you want.

As for the Python "print" problem, I don't do Python -- so, it can win the lottery, or die, I don't care.

As for "don't embed a variable into a literal string and use preprocessing", as I said above, I often do this:

<?php echo("The answer is $answer");?>

and find no problems whatsoever in doing so.

However, I wouldn't do this:

<?php echo 'The answer is '.$answer; ?>

OR, I would place a space before/after the . (i.e., 'The answer is ' . $answer). However, I don't like doing that because I also program in other languages, which use the dot operator differently.

My experience has shown me that most, if not all, languages are merging -- as such, I think the dot operator is more established as something other than just an operation to combine strings.

Cheers,

tedd
--
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux