[FX.php List] Risks in multi-line echo statement?
Joel Shapiro
jsfmp at earthlink.net
Wed Oct 25 13:12:40 MDT 2006
Thanks Chris, that's great! I'd never heard of heredoc.
looking at its php.net documentation lead me to the echo()
documentation, which includes:
echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;
(so you're right, you don't need to store the heredoc in a variable)
it also includes:
echo "This spans
multiple lines. The newlines will be
output as well";
(which I guess answers my original question)
Best,
-Joel
On Oct 25, 2006, at 11:08 AM, Chris Hansen wrote:
> Joel,
>
> Use heredoc syntax. This would like like the following:
>
> $myText = <<<MY_TEXT
> <table>
> <tr>
> <td align="right">Field A: </td>
> <td>{$value['FieldA'][0]}</td>
> </tr>
> <tr>
> <td align="right">Field B: </td>
> <td>{$value['FieldB'][0]}</td>
> </tr>
> </table>
> MY_TEXT;
>
> echo($myText);
>
> Note that like double quotes, your variables can go right inside
> the block. Also, heredoc is designed to work with multi-line
> blocks of text. The PHP online docs have more details:
>
> http://www.php.net/manual/en/
> language.types.string.php#language.types.string.syntax.heredoc
>
> Lots of folks aren't aware of this string syntax, but it's a gem in
> my opinion. (You may be able to echo the heredoc block directly
> rather than storing it first -- I don't use it that way though.) HTH
>
> --Chris Hansen
> FileMaker 7 Certified Developer
> Creator of FX.php
> "The best way from FileMaker to the Web."
> www.iViking.org
>
>
> On Oct 25, 2006, at 11:51 AM, Joel Shapiro wrote:
>
>> Hi all
>>
>> Quick php formatting question:
>>
>> Are there any risks to using a single echo statement with multiple
>> lines inside the quotes, as follows?
>>
>> echo ' // START ECHO
>> <table>
>> <tr>
>> <td align="right">Field A: </td>
>> <td>'.$value['FieldA'][0].'</td>
>> </tr>
>> <tr>
>> <td align="right">Field B: </td>
>> <td>'.$value['FieldB'][0].'</td>
>> </tr>
>> </table>
>> '; // END ECHO
>>
>> I think it was on this list where people once discussed various
>> ways of switching between html and php code. This way *seems* to
>> be a way to keep the html looking like html (both in the initial
>> code, and in the browser's view source), but without needing lots
>> of echo statements (1 per line), or using "\n", or having to use <?
>> php echo $value['FieldA'][0]; ?> each time within straight html.
>> I've looked elsewhere online and haven't found other examples of
>> this, so I'm wondering if there's a good reason for that.
>>
>> TIA,
>> -Joel
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
More information about the FX.php_List
mailing list