<?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 (Entries tagged as mvc)</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>Tue, 23 Mar 2010 20:59:54 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>A Simple Resource Injector for ZF Action Controllers</title>
    <link>http://weierophinney.net/matthew/archives/235-A-Simple-Resource-Injector-for-ZF-Action-Controllers.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/235-A-Simple-Resource-Injector-for-ZF-Action-Controllers.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=235</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    &lt;a href=&quot;http://www.brandonsavage.net/&quot;&gt;Brandon Savage&lt;/a&gt; approached me
    with an interesting issue regarding ZF bootstrap resources, and accessing
    them in your action controllers. Basically, he&#039;d like to see any resource
    initialized by the bootstrap immediately available as simply a public member
    of his action controller.
&lt;/p&gt;

&lt;p&gt;
    So, for instance, if you were using the &quot;DB&quot; resource in your application,
    your controller could access it via &lt;code&gt;$this-&amp;gt;db&lt;/code&gt;.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/235-A-Simple-Resource-Injector-for-ZF-Action-Controllers.html#extended&quot;&gt;Continue reading &quot;A Simple Resource Injector for ZF Action Controllers&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 19 Mar 2010 16:20:42 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/235-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Module Bootstraps in Zend Framework: Do's and Don'ts</title>
    <link>http://weierophinney.net/matthew/archives/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=234</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I see a number of questions regularly about module bootstraps in Zend
    Framework, and decided it was time to write a post about them finally.
&lt;/p&gt;

&lt;p&gt;
    In Zend Framework 1.8.0, we added &lt;code&gt;Zend_Application&lt;/code&gt;, which is
    intended to (a) formalize the bootstrapping process, and (b) make it
    re-usable. One aspect of it was to allow bootstrapping of individual
    application modules -- which are discrete collections of controllers, views,
    and models.
&lt;/p&gt;

&lt;p&gt;
    The most common question I get regarding module bootstraps is: 
&lt;/p&gt;

&lt;blockquote&gt;
    Why are all module bootstraps run on every request, and not just the one for
    the requested module?
&lt;/blockquote&gt;

&lt;p&gt;
    To answer that question, first I need to provide some background.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts.html#extended&quot;&gt;Continue reading &quot;Module Bootstraps in Zend Framework: Do&#039;s and Don&#039;ts&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 11 Mar 2010 11:55:55 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/234-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Creating Re-Usable Zend_Application Resource Plugins</title>
    <link>http://weierophinney.net/matthew/archives/231-Creating-Re-Usable-Zend_Application-Resource-Plugins.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/231-Creating-Re-Usable-Zend_Application-Resource-Plugins.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=231</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    In my &lt;a
        href=&quot;http://weierophinney.net/matthew/archives/230-Quick-Start-to-Zend_Application_Bootstrap.html&quot;&gt;last
        article&lt;/a&gt;, I wrote about how to get started with
    &lt;code&gt;Zend_Application&lt;/code&gt;, including some information about how to write
    resource methods, as well as listing available resource plugins. What
    happens when you need a re-usable resource for which there is no existing
    plugin shipped? Why, write your own, of course!
&lt;/p&gt;

&lt;p&gt;
    All plugins in Zend Framework follow a &lt;a
        href=&quot;http://framework.zend.com/manual/en/learning.plugins.intro.html&quot;&gt;common
    pattern&lt;/a&gt;. Basically, you group plugins under a common directory, with a
    common class prefix, and then notify the pluggable class of their location.
&lt;/p&gt;

&lt;p&gt;
    For this post, let&#039;s consider that you may want a resource plugin to do the
    following:
&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Set the view doctype&lt;/li&gt;
    &lt;li&gt;Set the default page title and title separator&lt;/li&gt;
&lt;/ul&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/231-Creating-Re-Usable-Zend_Application-Resource-Plugins.html#extended&quot;&gt;Continue reading &quot;Creating Re-Usable Zend_Application Resource Plugins&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 04 Feb 2010 14:55:12 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/231-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

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

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    In the last two entries in this series on models, I covered 
    &lt;a href=&quot;http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html&quot;&gt;using forms as input filters&lt;/a&gt; 
    and &lt;a href=&quot;http://weierophinney.net/matthew/archives/201-Applying-ACLs-to-Models.html&quot;&gt;integrating ACLs into models&lt;/a&gt;. 
    In this entry, I tackle some potential infrastructure for your models.
&lt;/p&gt;

&lt;p&gt;
    The Model is a complex subject. However, it is often boiled down to either a
    single model class or a full object relational mapping (ORM). I personally
    have never been much of a fan of ORMs as they tie models to the underlying
    database structure; I don&#039;t always use a database, nor do I want
    to rely on an ORM solution too heavily on the off-chance that I later need
    to refactor to use services or another type of persistence store. On the
    other hand, the model as a single class is typically too simplistic.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html#extended&quot;&gt;Continue reading &quot;Model Infrastructure&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 30 Dec 2008 07:35:01 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/202-guid.html</guid>
    <category>best practices</category>
<category>mvc</category>
<category>php</category>
<category>zend framework</category>

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

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    In my last post, I &lt;a href=&quot;http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html&quot;&gt;discussed using Zend_Form as a combination input filter/value object within your models&lt;/a&gt;. 
    In this post, I&#039;ll discuss using Access Control Lists (ACLs) as part of your
    modelling strategy.
&lt;/p&gt;

&lt;p&gt;
    ACLs are used to indicate &lt;em&gt;who&lt;/em&gt; has access to do &lt;em&gt;what&lt;/em&gt;
    on a given &lt;em&gt;resource&lt;/em&gt;. In the paradigm I will put forward, your
    &lt;em&gt;resource&lt;/em&gt; is your model, and the &lt;em&gt;what&lt;/em&gt; are the various
    methods of the model. If you finesse a bit, you&#039;ll have &quot;user&quot; objects that
    act as your &lt;em&gt;who&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
    Just like with forms, you want to put your ACLs as close to your domain
    logic as possible; in fact, ACLs are &lt;em&gt;part&lt;/em&gt; of your domain.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/201-Applying-ACLs-to-Models.html#extended&quot;&gt;Continue reading &quot;Applying ACLs to Models&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 24 Dec 2008 07:26:40 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/201-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Using Zend_Form in Your Models</title>
    <link>http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=200</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    A &lt;a href=&quot;http://blog.astrumfutura.com/index.php?url=archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html&quot;&gt;number&lt;/a&gt; 
    of &lt;a href=&quot;http://akrabat.com/2008/12/13/on-models-in-a-zend-framework-application/&quot;&gt;blog&lt;/a&gt;
    &lt;a href=&quot;http://codeutopia.net/blog/2008/12/17/the-problems-faced-by-a-common-model-interface-in-frameworks/&quot;&gt;posts&lt;/a&gt; 
    have sprung up lately in the Zend Framework community discussing the Model
    in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Model-view-controller&quot;&gt;Model-View-Controller pattern&lt;/a&gt;. 
    &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; has never had a
    concrete Model class or interface; our stand has been that models are
    specific to the application, and only the developer can really know what
    would best suit it. 
&lt;/p&gt;
    
&lt;p&gt;
    Many other frameworks tie the Model to data access -- typically via the
    &lt;a href=&quot;http://en.wikipedia.org/wiki/Active_record_pattern&quot;&gt;ActiveRecord&lt;/a&gt; 
    pattern or a &lt;a href=&quot;http://martinfowler.com/eaaCatalog/tableDataGateway.html&quot;&gt;Table Data Gateway&lt;/a&gt; 
    -- which completely ignores the fact that this is tying the Model to the
    method by which it is persisted.  What happens later if you start using
    memcached? or migrate to an SOA architecture? What if, from the very
    beginning, your data is coming from a web service? What if you &lt;em&gt;do&lt;/em&gt;
    use a database, but your business logic relies on associations
    &lt;em&gt;between&lt;/em&gt; tables?
&lt;/p&gt;

&lt;p&gt;
    While the aforementioned posts do an admirable job of discussing the various
    issues, they don&#039;t necessarily give any concrete approaches a developer
    &lt;em&gt;can&lt;/em&gt; use when creating their models. As such, this will be the first
    in a series of posts aiming to provide some concrete patterns and techniques
    you can use when creating your models. The examples will primarily be
    drawing from Zend Framework components, but should apply equally well to a
    variety of other frameworks.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html#extended&quot;&gt;Continue reading &quot;Using Zend_Form in Your Models&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 22 Dec 2008 08:30:00 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/200-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Setting up your Zend_Test test suites</title>
    <link>http://weierophinney.net/matthew/archives/190-Setting-up-your-Zend_Test-test-suites.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/190-Setting-up-your-Zend_Test-test-suites.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=190</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Now that &lt;a href=&quot;http://framework.zend.com/manual/en/zend.test.html&quot;&gt;Zend_Test&lt;/a&gt;
    has shipped, developers are of course asking, &quot;How do I setup my test
    suite?&quot; Fortunately, after some discussion with my colleagues and a little
    experimenting on my one, I can answer that now.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/190-Setting-up-your-Zend_Test-test-suites.html#extended&quot;&gt;Continue reading &quot;Setting up your Zend_Test test suites&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 11 Sep 2008 15:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/190-guid.html</guid>
    <category>best practices</category>
<category>mvc</category>
<category>oop</category>
<category>php</category>
<category>testing</category>
<category>zend framework</category>

</item>
<item>
    <title>Testing Zend Framework MVC Applications</title>
    <link>http://weierophinney.net/matthew/archives/182-Testing-Zend-Framework-MVC-Applications.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/182-Testing-Zend-Framework-MVC-Applications.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=182</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Since I originally started hacking on the &lt;a
    href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; MVC in the fall of
    2006, I&#039;ve been touting the fact that you can test ZF MVC projects by
    utilizing the Request and Response objects; indeed, this is what I actually
    did to test the Front Controller and Dispatcher. However, until recently,
    there was never an easy way to do so in your userland projects; the default
    request and response objects make it difficult to easily and quickly setup
    tests, and the methods introduced into the front controller to make it
    testable are largely undocumented. 
&lt;/p&gt;

&lt;p&gt;
    So, one of my ongoing projects the past few months has been to create an
    infrastructure for functional testing of ZF projects using &lt;a
        href=&quot;http://phpunit.de/&quot;&gt;PHPUnit&lt;/a&gt;. This past weekend, I made the
    final commits that make this functionality feature complete.
&lt;/p&gt;

&lt;p&gt;
    The new functionality provides several facets:
&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Stub test case classes for the HTTP versions of our Request and Response
        objects, containing methods for setting up the request environment
        (including setting GET, POST, and COOKIE parameters, HTTP request
        headers, etc).&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;Zend_Dom_Query&lt;/code&gt;, a class for using CSS selectors (and XPath)
        to query (X)HTML and XML documents.&lt;/li&gt;
    &lt;li&gt;PHPUnit constraints that consume &lt;code&gt;Zend_Dom_Query&lt;/code&gt; and the
        Response object to make their comparisons.&lt;/li&gt;
    &lt;li&gt;A specialized PHPUnit test case that contains functionality for
        bootstrapping an MVC application, dispatching requests, and a variety of
        assertions that utilize the above constraints and objects.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/182-Testing-Zend-Framework-MVC-Applications.html#extended&quot;&gt;Continue reading &quot;Testing Zend Framework MVC Applications&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 30 Jun 2008 12:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/182-guid.html</guid>
    <category>best practices</category>
<category>mvc</category>
<category>php</category>
<category>zend framework</category>

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

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;m pleased to announce that 
    &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; will be partnering
    with &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo Toolkit&lt;/a&gt; to deliver
    out-of-the-box Ajax and rich user interfaces for sites developed in Zend
    Framework.
&lt;/p&gt;

&lt;p&gt;
    First off, for those ZF users who are using other Javascript toolkits: Zend
    Framework will continue to be basically JS toolkit agnostic. You will still
    be able to use whatever toolkit you want with ZF applications. ZF will
    simply be shipping Dojo so that users have a toolkit by default. Several
    points of integration have been defined, and my hope is that these can be
    used as a blueprint for community contributions relating to other javascript
    frameworks. In the meantime, developers choosing to use Dojo will have a
    rich set of components and integration points to work with.
&lt;/p&gt;

&lt;p&gt;
    The integration points we have defined for our initial release are as
    follows:
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/176-Zend-Framework-Dojo-Integration.html#extended&quot;&gt;Continue reading &quot;Zend Framework Dojo Integration&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 21 May 2008 10:57:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/176-guid.html</guid>
    <category>dojo</category>
<category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Form Decorators Tutorial posted</title>
    <link>http://weierophinney.net/matthew/archives/174-Form-Decorators-Tutorial-posted.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/174-Form-Decorators-Tutorial-posted.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=174</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    As a continuing part of my MVC series, I&#039;ve posted a new article on 
    &lt;a href=&quot;http://devzone.zend.com/article/3450-Decorators-with-Zend_Form&quot;&gt;Form Decorators&lt;/a&gt;
    up on the DevZone.
&lt;/p&gt;

&lt;p&gt;
    I&#039;m hoping this will be the definitive guide to using form decorators. I
    cover the design decisions behind them, basics of operation, how to
    customize output by mixing and matching standard decorators, and how to
    create your own custom decorators. Among the examples are how to create a
    table-based layout for your forms (instead of the dynamic list layout used
    by default), and how to use a View Script as your form decorator in order to
    have full control over your form layout.
&lt;/p&gt;

&lt;p&gt;
    So, if you&#039;ve been playing with Zend_Form and having trouble wrapping your
    head around decorators, &lt;a href=&quot;http://devzone.zend.com/article/3450-Decorators-with-Zend_Form&quot;&gt;give it a read&lt;/a&gt;!
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 05 May 2008 10:25:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/174-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>View Helpers Tutorial on DevZone</title>
    <link>http://weierophinney.net/matthew/archives/172-View-Helpers-Tutorial-on-DevZone.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/172-View-Helpers-Tutorial-on-DevZone.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=172</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I have another tutorial in my &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; MVC series up on &lt;a href=&quot;http://devzone.zend.com/&quot;&gt;DevZone&lt;/a&gt; 
    today, this time on &lt;a href=&quot;http://devzone.zend.com/article/3412-View-Helpers-in-Zend-Framework&quot;&gt;View
    Helpers&lt;/a&gt;. If you&#039;re curious on how to create view helpers, override the
    standard view helpers, or how some of the standard view helpers such as
    partials and placeholders work, give it a read!
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 28 Apr 2008 09:51:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/172-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>ZF Plugins Tutorial on DevZone</title>
    <link>http://weierophinney.net/matthew/archives/170-ZF-Plugins-Tutorial-on-DevZone.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/170-ZF-Plugins-Tutorial-on-DevZone.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=170</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;m doing a series of articles on various 
    &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; MVC topics for the
    &lt;a href=&quot;http://devzone.zend.com/&quot;&gt;Zend Developer Zone&lt;/a&gt;. Last week, I
    covered Action Helpers. This week, I cover 
    &lt;a href=&quot;http://devzone.zend.com/article/3372-Front-Controller-Plugins-in-Zend-Framework&quot;&gt;Front Controller Plugins&lt;/a&gt;.
    If you&#039;ve ever been mystified by or curious about this subject, head on over
    and give it a read!
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Mon, 14 Apr 2008 09:22:12 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/170-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Action Helpers in ZF</title>
    <link>http://weierophinney.net/matthew/archives/169-Action-Helpers-in-ZF.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/169-Action-Helpers-in-ZF.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=169</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ve posted &lt;a href=&quot;http://devzone.zend.com/article/3350-Action-Helpers-in-Zend-Framework&quot;&gt;a new article on Action Helpers&lt;/a&gt; in Zend Framework&#039;s MVC
    on the &lt;a href=&quot;http://devzone.zend.com/&quot;&gt;Zend Developer Zone&lt;/a&gt;. If you&#039;ve
    ever wanted more information on these, follow the link.
&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Mon, 07 Apr 2008 10:11:05 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/169-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

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

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Somebody on &lt;a href=&quot;http://twitter.com/&quot;&gt;Twitter&lt;/a&gt; pointed this out, and
    I thought I&#039;d spread the word: &lt;a href=&quot;http://www.loudthinking.com/&quot;&gt;DHH&lt;/a&gt; of &lt;a
        href=&quot;http://rubyonrails.org/&quot;&gt;Rails fame&lt;/a&gt; has posted a nice, short,
    and very interesting thought on &lt;a
        href=&quot;http://www.loudthinking.com/posts/23-the-immediacy-of-php&quot;&gt;&quot;The
        immediacy of PHP&quot;&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
    I&#039;ve been delving a little into Rails lately myself, and what I find is: use
    the right tool for the job. For green-field, self-hosted projects, Rails is
    not a bad choice, and offers a very easy way to get your application up and
    running quickly. But due to the fact that PHP was built for the web, there
    are any number of tasks that are simpler and faster to accomplish using it.
    Evaluate your needs carefully, and choose the tool that best addresses them.
&lt;/p&gt;

&lt;p&gt;
    It&#039;s nice to see leaders of projects like Rails having this same attitude.
    It&#039;s a breath of fresh air in the competitive market of web development
    frameworks.
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 04 Apr 2008 09:06:14 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/168-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>rails</category>

</item>
<item>
    <title>Dojo 1.1.0 Released</title>
    <link>http://weierophinney.net/matthew/archives/166-Dojo-1.1.0-Released.html</link>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/166-Dojo-1.1.0-Released.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=166</wfw:comment>

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

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt; announced today the availability
    of 1.1.0. 
&lt;/p&gt;

&lt;p&gt;
    I&#039;ve been toying with Dojo off-and-on for almost a year now. It&#039;s the most
    framework-y of the various JS toolkits I&#039;ve tried, and I particularly
    appreciate its modularity. (That said, it can lead to a lot of HTTP requests
    to your site if you don&#039;t create a targetted bundle with the modules you
    need.)
&lt;/p&gt;

&lt;p&gt;
    The 1.1.0 release has me pretty excited, as it finally is doing something
    most other JS frameworks have been doing for some time: its XHR requests now
    send the &quot;X-Requested-With: XMLHttpRequest&quot; header, which allows it to
    conform to the &lt;code&gt;isXmlHttpRequest()&lt;/code&gt; method in Zend Framework&#039;s
    request object. This makes it much easier to provide a standard mechanism in
    your server-side code for detecting AJAX requests, allowing context
    switching to be automated.
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 28 Mar 2008 15:59:17 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/166-guid.html</guid>
    <category>mvc</category>
<category>php</category>
<category>zend framework</category>

</item>

</channel>
</rss>