<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>phly, boy, phly</title>
    <link>http://weierophinney.net/matthew/</link>
    <description>Ramblings on PHP, Linux, and other Geeky Topics</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.0.4 - http://www.s9y.org/</generator>
    <pubDate>Sat, 21 Aug 2010 22:37:14 GMT</pubDate>

    <image>
        <url>http://weierophinney.net/matthew/templates/matthew/img/s9y_banner_small.png</url>
        <title>RSS: phly, boy, phly - Ramblings on PHP, Linux, and other Geeky Topics</title>
        <link>http://weierophinney.net/matthew/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Autoloading Benchmarks</title>
    <link>http://weierophinney.net/matthew/archives/245-Autoloading-Benchmarks.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/245-Autoloading-Benchmarks.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=245</wfw:comment>

    <slash:comments>39</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=245</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
During the past week, I&#039;ve been looking at different strategies for &lt;a href=&quot;http://php.net/autoload&quot;&gt;autoloading&lt;/a&gt; in &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt;. I&#039;ve suspected for some time that our class loading strategy might be one source of performance degradation, and wanted to research some different approaches, and compare performance.
&lt;/p&gt;

&lt;p&gt;
In this post, I&#039;ll outline the approaches I&#039;ve tried, the benchmarking stategy I applied, and the results of benchmarking each approach.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/245-Autoloading-Benchmarks.html#extended&quot;&gt;Continue reading &quot;Autoloading Benchmarks&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 17 Aug 2010 09:30:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/245-guid.html</guid>
    <category>best practices</category>
<category>pear</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Applying FilterIterator to Directory Iteration</title>
    <link>http://weierophinney.net/matthew/archives/244-Applying-FilterIterator-to-Directory-Iteration.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/244-Applying-FilterIterator-to-Directory-Iteration.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=244</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=244</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;m currently doing research and prototyping for autoloading alternatives in
    &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; 2.0. One approach
    I&#039;m looking at involves creating explicit class/file maps; these tend to be
    much faster than using the &lt;code&gt;include_path&lt;/code&gt;, but do require some
    additional setup.
&lt;/p&gt;

&lt;p&gt;
    My algorithm for generating the maps was absurdly simple:
&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Scan the filesystem for PHP files&lt;/li&gt;
    &lt;li&gt;If the file does not contain an interface, class, or abstract class,
    skip it.&lt;/li&gt;
    &lt;li&gt;If it does, get its declared namespace and classname&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    The question was what implementation approach to use.
&lt;/p&gt;

&lt;p&gt;
    I&#039;m well aware of &lt;code&gt;RecursiveDirectoryIterator&lt;/code&gt;, and planned to
    use that. However, I also had heard of &lt;code&gt;FilterIterator&lt;/code&gt;, and
    wondered if I could tie that in somehow. In the end, I could, but the
    solution was non-obvious.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/244-Applying-FilterIterator-to-Directory-Iteration.html#extended&quot;&gt;Continue reading &quot;Applying FilterIterator to Directory Iteration&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 16 Aug 2010 10:30:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/244-guid.html</guid>
    <category>php</category>
<category>spl</category>

</item>
<item>
    <title>Running mod_php and FastCGI side-by-side</title>
    <link>http://weierophinney.net/matthew/archives/243-Running-mod_php-and-FastCGI-side-by-side.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/243-Running-mod_php-and-FastCGI-side-by-side.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=243</wfw:comment>

    <slash:comments>10</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=243</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Because we&#039;re in full throes of &lt;a href=&quot;http://framework.zend.com&quot;&gt;Zend
        Framework&lt;/a&gt; 2.0 development, I find myself with a variety of PHP
    binaries floating around my system from both the PHP 5.2 and 5.3 release
    series. We&#039;re at a point now where I&#039;m wanting to test migrating
    applications from ZF 1.X to 2.0 to se see what works and what doesn&#039;t. But
    that means I need more than one PHP binary enabled on my server...
&lt;/p&gt;

&lt;p&gt;
    I use &lt;a href=&quot;http://www.zend.com/products/server/&quot;&gt;Zend Server&lt;/a&gt; on my
    development box; it&#039;s easy to install, and uses my native Ubuntu update
    manager to get updates. On Ubuntu, it installs the Debian Apache2 packages,
    so I get the added bonus of familiarity with the configuration structure.
&lt;/p&gt;

&lt;p&gt;
    I installed Zend Server some time ago, so I&#039;m still on a PHP 5.2 mod_php
    binary. I have several PHP 5.3 binaries compiled and installed locally for
    running unit tests and sample scripts already -- so the question was how to
    keep my 5.2 mod_php running while simultaneously allowing the ability to run
    selected vhosts in 5.3?
&lt;/p&gt;

&lt;p&gt;
    The answer can be summed up in one acronym: FastCGI.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/243-Running-mod_php-and-FastCGI-side-by-side.html#extended&quot;&gt;Continue reading &quot;Running mod_php and FastCGI side-by-side&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 09 Aug 2010 10:45:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/243-guid.html</guid>
    <category>apache</category>
<category>fastcgi</category>
<category>php</category>

</item>
<item>
    <title>Creating Zend_Tool Providers</title>
    <link>http://weierophinney.net/matthew/archives/242-Creating-Zend_Tool-Providers.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/242-Creating-Zend_Tool-Providers.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=242</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=242</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    When I was at &lt;a href=&quot;http://www.symfony-live.com/&quot;&gt;Symfony Live&lt;/a&gt; this
    past February, I assisted &lt;a
        href=&quot;http://www.leftontheweb.com/&quot;&gt;Stefan Koopmanschap&lt;/a&gt;
    in a full-day workshop on integrating Zend Framework in Symfony
    applications. During that workshop, Stefan demonstrated creating Symfony
    &quot;tasks&quot;. These are classes that tie in to the Symfony command-line
    tooling -- basically allowing you to tie in to the CLI tool in order to
    create cronjobs, migration scripts, etc.
&lt;/p&gt;

&lt;p&gt;
    Of course, Zend Framework has an analogue to Symfony tasks in the &lt;a
        href=&quot;http://framework.zend.com/manual/en/zend.tool.html&quot;&gt;Zend_Tool&lt;/a&gt;
    component&#039;s &quot;providers&quot;. In this post, I&#039;ll demonstrate how you can create a
    simple provider that will return the most recent entry from an RSS or Atom
    feed. 
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/242-Creating-Zend_Tool-Providers.html#extended&quot;&gt;Continue reading &quot;Creating Zend_Tool Providers&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 01 Jul 2010 09:05:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/242-guid.html</guid>
    <category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>State of Zend Framework 2.0</title>
    <link>http://weierophinney.net/matthew/archives/241-State-of-Zend-Framework-2.0.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/241-State-of-Zend-Framework-2.0.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=241</wfw:comment>

    <slash:comments>26</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=241</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    The past few months have kept myself and my team quite busy, as we&#039;ve turned
    our attentions from maintenance of the &lt;a
        href=&quot;http://framework.zend.com&quot;&gt;Zend Framework&lt;/a&gt; 1.X series to Zend
    Framework 2.0. I&#039;ve been fielding questions regularly about ZF2 lately, and
    felt it was time to talk about the roadmap for ZF2, what we&#039;ve done so far,
    and how the community can help.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/241-State-of-Zend-Framework-2.0.html#extended&quot;&gt;Continue reading &quot;State of Zend Framework 2.0&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 04 Jun 2010 10:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/241-guid.html</guid>
    <category>git</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Writing Gearman Workers in PHP</title>
    <link>http://weierophinney.net/matthew/archives/240-Writing-Gearman-Workers-in-PHP.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/240-Writing-Gearman-Workers-in-PHP.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=240</wfw:comment>

    <slash:comments>10</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=240</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ve been hearing about and reading about &lt;a
        href=&quot;http://gearman.org/&quot;&gt;Gearman&lt;/a&gt; for a couple years now, but, due
    to the nature of &lt;a href=&quot;http://framework.zend.com/&quot;&gt;my work&lt;/a&gt;, it&#039;s
    never really been something I needed to investigate; when you&#039;re writing
    backend code, scalability is something you leave to the end-users, right?
&lt;/p&gt;

&lt;p&gt;
    Wrong! But perhaps an explanation is in order.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/240-Writing-Gearman-Workers-in-PHP.html#extended&quot;&gt;Continue reading &quot;Writing Gearman Workers in PHP&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 06 May 2010 09:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/240-guid.html</guid>
    <category>gearman</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>PHP Invades Amsterdam; or, the Dutch PHP Conference</title>
    <link>http://weierophinney.net/matthew/archives/239-PHP-Invades-Amsterdam;-or,-the-Dutch-PHP-Conference.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/239-PHP-Invades-Amsterdam;-or,-the-Dutch-PHP-Conference.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=239</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=239</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    For the third year running, I&#039;m pleased to be speaking at the &lt;a
        href=&quot;http://phpconference.nl/&quot;&gt;Dutch PHP Conference&lt;/a&gt;, held again in
    Amsterdam this coming 10-12 of June.
&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;http://phpconference.nl/&quot; title=&quot;2010 Dutch PHP Conference&quot;&gt;&lt;img src=&quot;http://weierophinney.net/matthew/uploads/dpc10_speaker.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/239-PHP-Invades-Amsterdam;-or,-the-Dutch-PHP-Conference.html#extended&quot;&gt;Continue reading &quot;PHP Invades Amsterdam; or, the Dutch PHP Conference&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 19 Apr 2010 23:58:37 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/239-guid.html</guid>
    <category>conferences</category>
<category>dpc10</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>A Primer for PHP 5.3's New Language Features</title>
    <link>http://weierophinney.net/matthew/archives/237-A-Primer-for-PHP-5.3s-New-Language-Features.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/237-A-Primer-for-PHP-5.3s-New-Language-Features.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=237</wfw:comment>

    <slash:comments>31</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=237</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    For the past month, I&#039;ve been immersed in PHP 5.3 as I and my team have
    started work on &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; 2.0.
    PHP 5.3 offers a slew of new language features, many of which were developed
    to assist framework and library developers. Most of the time, these features
    are straight-forward, and you can simply use them; in other cases, however,
    we&#039;ve run into behaviors that were unexpected. This post will detail several
    of these, so &lt;em&gt;you&lt;/em&gt; either don&#039;t run into the same issues -- or can
    capitalize on some of our discoveries.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/237-A-Primer-for-PHP-5.3s-New-Language-Features.html#extended&quot;&gt;Continue reading &quot;A Primer for PHP 5.3&#039;s New Language Features&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 06 Apr 2010 11:10:23 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/237-guid.html</guid>
    <category>oop</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Please Join Me At TEK-X</title>
    <link>http://weierophinney.net/matthew/archives/238-Please-Join-Me-At-TEK-X.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/238-Please-Join-Me-At-TEK-X.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=238</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=238</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ll be speaking this year at &lt;a href=&quot;http://tek.phparch.com/&quot;&gt;TEK-X&lt;/a&gt;,
    this year&#039;s incarnation of the php|tek conference, in Chicago in May.
&lt;/p&gt;

&lt;p style=&quot;text-align:center;&quot;&gt;&lt;a href=&quot;http://tek.phparch.com/&quot;
    target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://weierophinney.net/matthew/uploads/TEKX_SpeakerBadge_135x135.png&quot;
    width=&quot;135&quot; height=&quot;135&quot; title=&quot;TEK-X PHP Conference, Chicago, IL, May 18-21&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/238-Please-Join-Me-At-TEK-X.html#extended&quot;&gt;Continue reading &quot;Please Join Me At TEK-X&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 07 Apr 2010 09:48:55 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/238-guid.html</guid>
    <category>conferences</category>
<category>php</category>
<category>tekx</category>

</item>

</channel>
</rss>