<?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, 09 Jul 2008 07:21:36 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Bill Karwin's Blog: ActiveRecord does not suck]]></title>
      <guid>http://www.phpdeveloper.org/news/10303</guid>
      <link>http://www.phpdeveloper.org/news/10303</link>
      <description><![CDATA[<p>
<i>Bill Karwin</i> (formerly of Zend and the Zend Framework project) has <a href="http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html">a new post</a> to his blog defending one of the more abused (both in code and in opinions) design patterns, ActiveRecord:
</p>
<blockquote>
ActiveRecord is fine.  It is a tool that does just what it's designed to do.  What sucks is when developers try to make it do other things than what it's intended to do.
</blockquote>
<p>
He <a href="http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html">cites</a> his work with the Zend_Db component and how <i>Mike Seth</i> gets it right when he says that the <a href="http://blog.mikeseth.com/index.php?/archives/4-ActiveRecord-sucks,-but-Kore-Nordmann-is-wrong.html#extended">pattern shouldn't be</a> "ActiveRecord-View-Controller". He compares the ideas of a true Model in an MVC application with the incorrect ideas that many developers seem to hold. 
</p>
<blockquote>
A Model is a class that provides a logical component of your application domain.  Models are products of OO design, which is a development activity I see get very little attention in the developer blogosphere or the developer tools market.
</blockquote>
<p>
Models can reference one or many (or no) database tables and are not where the hard work is being done. That's saved for the ORM (or ActiveRecord) to do.
</p>]]></description>
      <pubDate>Thu, 29 May 2008 17:07:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Girouard's Blog: Rolling Your Own MVC: The View]]></title>
      <guid>http://www.phpdeveloper.org/news/10052</guid>
      <link>http://www.phpdeveloper.org/news/10052</link>
      <description><![CDATA[<p>
<i>Michael</i> is back with <a href="http://www.lovemikeg.com/blog/2008/04/28/rolling-your-own-mvc-the-view/">part three</a> of his series stepping you through the creation of your own MVC framework (<a href="http://www.lovemikeg.com/blog/2008/02/21/rolling-your-own-mvc-introduction/">Part 1</a> and <a href="http://www.phpdeveloper.org/news/9944">Part 2</a>) with a look at the part that interfaces with the user - the View.
</p>
<blockquote>
Using the view as a starting point may seem odd at first considering the view-related actions are some of the last steps in the page load scenario, but since our views don't have any external dependencies, unit tests are very easy to write and so is the accompanying code.
</blockquote>
<p>
He <a href="http://www.lovemikeg.com/blog/2008/04/28/rolling-your-own-mvc-the-view/">explains</a> how views work along with the rest of the framework and some of the basic rules surrounding how they get their data. Code comes along with the explanations for different views like XML, HTML and JSON methods of output. 
</p>]]></description>
      <pubDate>Mon, 28 Apr 2008 09:39:45 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: An Example Zend Framework Blog App - Part 2: The MVC Application Architecture]]></title>
      <guid>http://www.phpdeveloper.org/news/10030</guid>
      <link>http://www.phpdeveloper.org/news/10030</link>
      <description><![CDATA[<p>
In <a href="http://blog.astrumfutura.com/archives/353-An-Example-Zend-Framework-Blog-Application-Part-2-The-MVC-Application-Architecture.html">this new post</a> to his blog today, <i>Padraic Brady</i> continues his series looking at developing a blog with the Zend Framework. He moves on to look at the MVC structure behind the application in this latest post.
</p>
<blockquote>
After speaking with any number of users about getting started with a framework, I find many do not have an advanced understanding of the corner stone of a current day web application framework: the Model-View-Controller Design Pattern.
</blockquote>
<p>
He explains the normal development approach (kind of a Page Controller where each bit of functionality has its own page) versus the Model/View/Controller approach of separation of presentation and logic in a structured fashion. He also goes through each of the parts of the MVC equation and shows the difference between the roles that the Controller and Model have in the application.
</p>]]></description>
      <pubDate>Thu, 24 Apr 2008 08:43:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Girouard's Blog: Rolling Your Own MVC: The Page Load Scenario]]></title>
      <guid>http://www.phpdeveloper.org/news/9944</guid>
      <link>http://www.phpdeveloper.org/news/9944</link>
      <description><![CDATA[<p>
<i>Michael Girouard</i> has posted his <a href="http://www.lovemikeg.com/blog/2008/04/07/rolling-your-own-mvc-the-page-load-scenario/">10,00 foot view</a> of the typical structure of an Model/View/Controller application (and framework) and how a page request is handled:
</p>
<blockquote>
In my <a href="http://www.lovemikeg.com/blog/2008/02/21/rolling-your-own-mvc-introduction/">previous article</a>, I announced that I would be documenting the process of developing a simple MVC framework. In this post I will go into a little more detail about each of the specific components of our MVC and will discuss the series of events which occur each time a page loads, otherwise known as the page load scenario.
</blockquote>
<p>
He talks about how URIs work, the role of mod_rewrite, several of the objects involved (like the Front Controller, Request, Route and View) and how they all fit in with the custom Models, Views and Controllers the user could define.
</p>]]></description>
      <pubDate>Wed, 09 Apr 2008 15:33:45 -0500</pubDate>
    </item>
  </channel>
</rss>
