<?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>Wed, 19 Jun 2013 18:17:38 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[SitePoint PHP Blog: High-Performance String Concatenation in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/15232</guid>
      <link>http://www.phpdeveloper.org/news/15232</link>
      <description><![CDATA[<p>
On the SitePoint PHP Blog there's a new post today looking at <a href="http://blogs.sitepoint.com/2010/10/05/high-performance-string-concatenation-in-php/">performance in string concatenation</a> where they compare some of the different methods for appending values and which might give you that minute edge.
</p>
<blockquote>
This could be a more important to your application: large string operations are often handled on the server when generating HTML pages. There are no special libraries in the standard PHP installation and string concatenation is implemented using the dot operator. [...] You can also join an array of strings using the <a href="http://php.net/manual/en/function.implode.php">implode</a> function.
</blockquote>
<p>
In order to simulate a larger set of string concatenations, they create a loop of 30,000 and append a simple string - "String concatenation." - each time. One method uses the standard period append method and the other uses implode after appending to an array. The result of their testing is that the array/implode method takes twice as long as the standard period/append operator. Take into account, however, that for most applications, the performance difference will be so small, it wouldn't be noticed.
</p>]]></description>
      <pubDate>Tue, 05 Oct 2010 12:08:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: From the inside-out: How to layer decorators]]></title>
      <guid>http://www.phpdeveloper.org/news/12289</guid>
      <link>http://www.phpdeveloper.org/news/12289</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinney</i> has posted the <a href="http://weierophinney.net/matthew/archives/213-From-the-inside-out-How-to-layer-decorators.html">second part</a> of his look at decorators in Zend Framework applications. This time he shows the process behind using multiple decorators to alter the same content pushed through each, one after the other.
</p>
<blockquote>
You may have noticed in the <a href="http://weierophinney.net/matthew/archives/212-The-simplest-Zend_Form-decorator.html">previous installment</a> that the decorator's render() method takes a single argument, $content. This is expected to be a string. render() will then take this string and decide to either replace it, append to it, or prepend it. This allows you to have a chain of decorators -- which allows you to create decorators that render only a subset of the element's metadata, and then layer these decorators to build the full markup for the element. 
</blockquote>
<p>
He gives the example of a custom form element (as was created in the previous part) and how to split it out into two different parts - one object for the main input element and the other to alter the object and add a label. He mentions overcoming a few issues like appending content instead of overwriting, controlling the order they run in and marking where to add the new content to the content of the object.
</p>]]></description>
      <pubDate>Tue, 07 Apr 2009 09:35:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Turland's Blog: Zend_Form and Zend_Loader_PluginLoader SNAFU]]></title>
      <guid>http://www.phpdeveloper.org/news/12271</guid>
      <link>http://www.phpdeveloper.org/news/12271</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has <a href="http://ishouldbecoding.com/2009/04/03/zend_form-and-zend_loader_pluginloader-snafu">ammended a previous technique</a> he suggested about using a centralized set of plugin loaders for Zend_Form elements (part of the <a href="http://framework.zend.com">Zend Framework</a>) because of an issue it can cause with the <a href="http://framework.zend.com/issues/browse/ZF-6134">Zend_Loader_Plugin</a>.
</p>
<blockquote>
The bug entails Zend_Loader_PluginLoader allowing multiple instances of the same path to be added per prefix. This becomes an issue because of how Zend_Form handles adding subforms. [...] If both the form and subform are using the same plugin loaders, the bug causes the same paths to be added multiple times.
</blockquote>
<p>
As of the posting of this article, the <a href="http://framework.zend.com/issues/browse/ZF-6134">issue has not been corrected</a>. The solution is outlined in the description of the bug if you want to correct the problem yourself until the full patch is included.
</p>]]></description>
      <pubDate>Fri, 03 Apr 2009 08:47:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Havard Eide's Blog: Iterators]]></title>
      <guid>http://www.phpdeveloper.org/news/10776</guid>
      <link>http://www.phpdeveloper.org/news/10776</link>
      <description><![CDATA[<p>
<i>Havard Eide</i> looks at another aspect of the Standard PHP Library in a <a href="http://eide.org/2008/08/05/iterators/">new blog post</a> today - iterators.
</p>
<blockquote>
[It's] a set of classes in the SPL that implements various iterating patterns: ArrayIterator, AppendIterator, FilterIterator, LimitIterator and NoRewindIterator. Hopefully you'll get a idea of what these are capable of and that you can get some new ideas for your day-to-day tasks.
</blockquote>
<p>
He breaks it down into example of each, explaining what they can be used for, how they work and a code example of each in action (with output). You can find more information in iterators and their functions in the <a href="http://us.php.net/spl">SPL section</a> of the manual.
</p>]]></description>
      <pubDate>Wed, 06 Aug 2008 12:52:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stoyan Stefanov's Blog: JS/PHP string concatenation mistype]]></title>
      <guid>http://www.phpdeveloper.org/news/8944</guid>
      <link>http://www.phpdeveloper.org/news/8944</link>
      <description><![CDATA[<p>
"Cross-over" developers out there (those that use PHP and Javascript on a regular basis) can sometimes get confused by little syntax things. <i>Stoyan Stefanov</i> got <a href="http://www.phpied.com/jsphp-string-concatenation-mistype/">tripped up</a> by just such an issue.
</p>
<blockquote>
The front-end developer is a strange beast who has to jiggle to and fro and code in several languages literally at the same time - javascript, html, css, php or some other server side language, some SQL dialect... No wonder that sometimes we make silly mistakes.
</blockquote>
<p>
His issue was with appending - in Javascript, it's a plus but in PHP, it's a period. Unfortunately, the problem can be hard to track down since Javascript also has a use for the period operator - treating the preceding thing like an object.
</p>]]></description>
      <pubDate>Wed, 31 Oct 2007 12:04:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibzi's Blog: Start caching all your pages in 5 steps]]></title>
      <guid>http://www.phpdeveloper.org/news/7302</guid>
      <link>http://www.phpdeveloper.org/news/7302</link>
      <description><![CDATA[<p>
On ibzi's blog today, there's <a href="http://www.ibzi.net/blog/post21.html">a quick guide</a> to introducing caching to your PHP application via a simple PHP file to create the cached pages.
</p>
<blockquote>
Caching your pages can be pretty useful, especially if you have PHP-generated pages that uses a lot of MySQL queries. Once your pages are cached, your server won't waste speed and RAM on regenerating the pages, it will just load it from the cache. I'm going to show you how to get PHP to cache your pages, and you can probably do this within 5 minutes.
</blockquote>
<p>
You'll need to be able to add (and use) an .htaccess file for Apache to use <a href="http://www.ibzi.net/blog/post21.html">this method</a>, but once it's set up, the simple script works like a charm. It prepends the caching functionality to each page and checks to see if a copy already exists. If it does, it displays it and if not, it will display it and create the cached file.
</p>]]></description>
      <pubDate>Mon, 19 Feb 2007 10:12:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jacob Santos' Blog: My Love For Array Object Idiocy]]></title>
      <guid>http://www.phpdeveloper.org/news/5956</guid>
      <link>http://www.phpdeveloper.org/news/5956</link>
      <description><![CDATA[<p>
In his <a href="http://www.santosj.name/?p=262">latest blog entry</a>, <i>Jacob Santos</i> looks at objects and his seeming faciation with every little thing they do - specifically the Array objects.
</p>
<blockquote>
I suppose I'm fixated on objects, but damn it, they are awesome. Recently, I've been thinking of creating a framework that takes array and file functions and creates a class wrapper around them. It would have been nice if PHP offered an object for handling Arrays and Files. SPL does manage some sorting for arrays, but I would like to fully manage arrays through the internal Array methods.
</blockquote>
<p>
He <a href="http://www.santosj.name/?p=262">dives deeper</a> into the Array objects, looking at how to use them, appending them to each other, how much overhead making the object causes (testing), and the results of those tests.
</p>]]></description>
      <pubDate>Fri, 04 Aug 2006 06:24:51 -0500</pubDate>
    </item>
  </channel>
</rss>
