Section 4.4. Heredoc


4.4. Heredoc

If you have a long string, you ought to consider using heredoc syntax. Put simply, heredoc allows you to define your own string delimiter so that you can make it something other than a double or single quote. So, for example, we could use the string EOT (end of text) for our delimiter, meaning that we can use double quotes and single quotes freely within the body of the textthe string only ends when we type EOT.

It is a little more complicated than that in practice, but not muchthe string delimiter needs to be by itself on a line, in the very first column. That is, you cannot add spacing or tabs around it. Here is a working example:

     <?php     $mystring = <<<EOT             This is some PHP text.             It is completely free             I can use "double quotes"             and 'single quotes',             plus $variables too, which will             be properly converted to their values,             you can even type EOT, as long as it             is not alone on a line, like this:     EOT;     ?>

There are several things to note about heredoc and the example above:

  • You can use anything you like; EOT is just an example.

  • You need to use <<< before the delimiter to tell PHP you want to enter heredoc mode.

  • Variable substitution is enabled, which means you need to escape dollar symbols if you don't want PHP to replace variables with their values.

  • You can use your delimiter anywhere in the text, but not in the first column of a new line.

  • At the end of the string, type the delimiter with no whitespace around it, followed by a semicolon.

Without heredoc syntax, complicated string assignments can become very messy.



PHP in a Nutshell
Ubuntu Unleashed
ISBN: 596100671
EAN: 2147483647
Year: 2003
Pages: 249

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net