<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Mon, 20 May 2013 09:41:40 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Lars Strojny's Blog: NOWDOC + double quotes = HEREDOC]]></title>
      <guid>http://www.phpdeveloper.org/news/9974</guid>
      <link>http://www.phpdeveloper.org/news/9974</link>
      <description><![CDATA[<p>
<i>Lars Strojny</i> has <a href="http://usrportage.de/archives/884-NOWDOC-+-double-quotes-HEREDOC.html">posted about</a> a the new element that's been introduced in the PHP 5.3 branch - NOWDOC:
</p>
<blockquote>
PHP 5.3 introduces a new syntax element, NOWDOC. If you know HEREDOC, NOWDOC is easy to understand: it is in fact HEREDOC taken literally. Whily variables are expanded in HEREDOC, in NOWDOC they are not.
</blockquote>
<p>
NOWDOC is basically a HEREDOC except for one thing - no parsing is done inside of it, making it good for echoing out PHP code (that would otherwise need to be escaped all over).
</p>]]></description>
      <pubDate>Tue, 15 Apr 2008 10:25:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Christopher Jones' Blog: PHP 5.3 "NOWDOCS" make SQL escaping easier]]></title>
      <guid>http://www.phpdeveloper.org/news/9633</guid>
      <link>http://www.phpdeveloper.org/news/9633</link>
      <description><![CDATA[<p>
<i>Christopher Jones</i> has <a href="http://blogs.oracle.com/opal/2008/02/13#a269">posted about</a> an update to the development for PHP 5.3 that makes escaping SQL even easier in scripts - NOWDOCS.
</p>
<blockquote>
Escaping quotes or other meta characters in SQL can be painful unless you get lucky with your quoting style. [...] Even with PHP's "Heredoc" syntax something will need escaping, but with PHP 5.3's new "Nowdoc" syntax no escaping is needed.
</blockquote>
<p>
The only difference between HEREDOC and NOWDOC is that the initial keyword (like the first END in this statement: <<<'END' text here END;) that can make worrying about complex quoting rules a thing of the past.
</p>]]></description>
      <pubDate>Thu, 14 Feb 2008 11:18:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sara Golemon's Blog: How long is a piece of string?]]></title>
      <guid>http://www.phpdeveloper.org/news/5616</guid>
      <link>http://www.phpdeveloper.org/news/5616</link>
      <description><![CDATA[<p>
<i>Sara Golemon</i>, inspired by an IRC discussion has gathered together some of her thoughts on "using PHP's string interpolation without using an optimizer".
</p>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/28-How-long-is-a-piece-of-string.html">explains</a> how a simple string (an echo statement) is interpreted into a simple compilation structure. Her next step, though (placing a variable inside a string) yields something that seems more complex than it should be. A concatination example simplifies things down a bit, but, oddly enough, it gets even better when a comma is used instead of a period to concatinate. She also gives an example of a heredoc statement that doesn't conform to the interpolation standards you'd think.
</p>
<blockquote>
Why does this happen? Because there are about a dozen ways that a variable can be hidden inside an interpolated string. Similarly, when looking for a heredoc end-token, the token can be an arbitrary length, containing any of the label characters, and may or may not sit on a line by itself. Put simply, it's too difficult to encompass in one regular expression.
</blockquote>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/28-How-long-is-a-piece-of-string.html">specifically mentions</a> the <a href="http://pecl.php.net/package/apc">APC</a> caching system and its built-in optimizer to help with some of these issues. It pulls the interpolations back down to a size they should be  and anticipating operations by pre-resolving things like constants and scalar expressions.
</p>
<p>
Of course, not everyone can install this pacakge, so she suggests an alternative:
</p>
<blockquote>
You can still avoid 90% of the INIT_STRING/ADD_STRING dilema by simply using single quotes and concatenation (or commas when dealing with echo statements). It's a simple trick and one which shouldn't harm maintainability too much, but on a large, complicated script, you just might see an extra request or two per second.
</blockquote>]]></description>
      <pubDate>Mon, 19 Jun 2006 05:56:03 -0500</pubDate>
    </item>
  </channel>
</rss>
