<?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, 22 May 2013 08:25:11 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[NETTUTS.com: MVC for Noobs]]></title>
      <guid>http://www.phpdeveloper.org/news/14246</guid>
      <link>http://www.phpdeveloper.org/news/14246</link>
      <description><![CDATA[<p>
If you're relatively new to the framework world and haven't quite gotten your head around the whole Model/View/Controller way of doing things, you should check out <a href="http://net.tutsplus.com/tutorials/other/mvc-for-noobs">this new tutorial</a> from NETTUTS.com giving an overview of the method that's so popular among PHP frameworks these days.
</p>
<blockquote>
Model-View-Controller (MVC) is probably one of the most quoted patterns in the web programming world in recent years. Anyone currently working in anything related to web application development will have heard or read the acronym hundreds of times. Today, we''ll clarify what MVC means, and why it has become so popular.
</blockquote>
<p>
The look at each part of the MVC stack including what it's for and how it connects with the other two parts. An example is included - not in code but with an image showing the communication between the modules. They wrap up the post with a look at why using a MVC framework can help you be more productive. Their example uses <a href="http://cakephp.org">CakePHP</a> but the ideas could be applied to any MVC framework out there.
</p>]]></description>
      <pubDate>Thu, 25 Mar 2010 10:05:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Handling Views with CodeIgniter]]></title>
      <guid>http://www.phpdeveloper.org/news/12171</guid>
      <link>http://www.phpdeveloper.org/news/12171</link>
      <description><![CDATA[<p>
DevShed takes another look at the CodeIgniter framework with <a href="http://www.devshed.com/c/a/PHP/Handling-Views-with-CodeIgniter/">this first part</a> of a new series tackling view handling in the lightweight framework. Views are the final stop for the processed data, displaying any one of a multitude of types of data back out to the waiting client software.
</p>
<blockquote>
In reality, implementing this view-centric method is actually pretty easy to achieve. However, CodeIgniter provides web developers with enough flexibility to handle views in all sort of clever ways. Therefore, in this series of articles I'll be discussing in detail some common approaches that you can use to generate views, ranging from loading them sequentially, to using more complex methods, such as including views within other views.
</blockquote>
<p>
They introduce you to the view system CodeIgniter offers and show you how to <a href="http://www.devshed.com/c/a/PHP/Handling-Views-with-CodeIgniter/2/">create a basic view</a> as a part of a <a href="http://www.devshed.com/c/a/PHP/Handling-Views-with-CodeIgniter/3/">controller class</a> that displays a page with a header, user content and a footer.
</p>]]></description>
      <pubDate>Thu, 19 Mar 2009 12:04:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Quinton Parker's Blog: Smarty. Solving the wrong problem since 2001]]></title>
      <guid>http://www.phpdeveloper.org/news/11901</guid>
      <link>http://www.phpdeveloper.org/news/11901</link>
      <description><![CDATA[<p>
On the heels of some <a href="http://www.phpdeveloper.org/news/11886">previous comments</a> concerning the <a href="http://smarty.php.net">Smarty</a> PHP templating engine, <i>Quinton Parker</i> has <a href="http://phpslacker.com/2009/02/05/smarty-solving-the-wrong-problem-since-2001/">posted some of his own thoughts</a> concerning the past and future of the tool.
</p>
<blockquote>
Today's rant is about the <a href="http://www.smarty.net/">Smarty</a> templating system for PHP. A <a href="http://paul-m-jones.com/?p=400">recent blog post by Paul M. Jones</a> has rekindled my strong feelings against Smarty. Honestly its nothing personal. Its just I can't believe developers are still using Smarty or that they ever started using it. Unthinkable. 
</blockquote>
<p>
<i>Quinton</i> talks about when he first discovered patterns and N-tier including the Model-View-Controller pattern. This naturally lead to needing a templating engine for the views, but from everything he could tell about Smarty it "solved the wrong problem" (he chose <a href="http://phpsavant.com/">phpsavant</a> instead). He even points out an author who, despite writing <a href="http://www.packtpub.com/smarty/book/mid/160606wf4ulr">a book</a> on Smarty, still came back and said that there's <a href="http://hasin.wordpress.com/2008/01/05/once-upon-a-time-there-was-smarty/">no need to use something like that</a> in an application.
</p>]]></description>
      <pubDate>Fri, 06 Feb 2009 12:09:31 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: Food for thought: utilizing models in MVC]]></title>
      <guid>http://www.phpdeveloper.org/news/11524</guid>
      <link>http://www.phpdeveloper.org/news/11524</link>
      <description><![CDATA[<p>
<i>Jani Hartikainen</i> has posted some <a href="http://codeutopia.net/blog/2008/12/06/food-for-thought-utilizing-models-in-mvc/">food for thought</a> to his blog today concerning models in a typical Model-View-Controller (MVC) setup.
</p>
<blockquote>
"What is a model" and "Is Zend_Db_Table a model" seem to be asked once in a while on #zftalk. Frameworks say they have a full model available, thus they are MVC frameworks ORM libraries say they generate models. It seems the ActiveRecord pattern has become somewhat synonymous with model.
</blockquote>
<p>
He points to <a href="http://blog.astrumfutura.com/archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html">a post from Padraic Brady</a> on the subject and talks about how one might put it into practice. He admits to making a controller action just to get data from the database into a view, but offers a "more correct" alternative - a view helpers that creates a model instance your view scripts can use directly without the controller in between.
</p>]]></description>
      <pubDate>Mon, 08 Dec 2008 10:26:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: The M in MVC: Why Models are Misunderstood and Unappreciated]]></title>
      <guid>http://www.phpdeveloper.org/news/11505</guid>
      <link>http://www.phpdeveloper.org/news/11505</link>
      <description><![CDATA[<p>
In <a href="http://blog.astrumfutura.com/archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html">this new post</a> to his blog <i>Padraic Brady</i> looks at why models are "misunderstood and unappreciated" in a Model/View/Controller sort of world.
</p>
<blockquote>
By the time I'd finished both chapters [of my Zend Framework book] I realised I had spent a lot of space explaining the Model, most of it discussing how the Zend Framework does not actually give you one. In fact, no web application framework offers a complete Model (for reasons I'll explain later). However nearly all frameworks manage to avoid making that perfectly obvious. Instead they continually link the concept of a Model to the related, but not identical, concept of data access. This is quite misleading.
</blockquote>
<p>
He looks at two things models are good for (maintaining state and enforcing rules on the data in the current state), how it seems most PHP developers perceive them, how controllers can be turned into "mutated models" and the idea that models should be classes and controllers are just processes (handlers for requests).
</p>]]></description>
      <pubDate>Thu, 04 Dec 2008 11:19:36 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Eran Galperin's Blog: The Advancing PHP Developer Part 5: Design Patterns ]]></title>
      <guid>http://www.phpdeveloper.org/news/10595</guid>
      <link>http://www.phpdeveloper.org/news/10595</link>
      <description><![CDATA[<p>
As a part of his "Advancing PHP Developer" series, <i>Eran Galperin</i> has posted <a href="http://www.techfounder.net/2008/07/12/the-advancing-php-developer-part-5-design-patterns">part five</a>, a look at design patterns and what they can do for you and your application.
</p>
<blockquote>
A <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design</a> pattern is a general reusable solution to a recurring design problem in object-oriented systems. Design patterns are essentially blueprints that suggest how to solve a particular set of OO design problems while adhering to OO best good-practices (which I've recounted in my <a href="http://www.techfounder.net/2008/05/25/the-advancing-php-developer-part-2-object-orientation/">Object Oriented part of this series</a>).
</blockquote>
<p>
He talks about one of the most popular examples - the Model/View/Controller design pattern that is used in many rapid development frameworks for PHP (including CodeIgniter and the Zend Framework). He also briefly mentions a few others like the <a href="http://en.wikipedia.org/wiki/Composite_pattern">composite</a>, <a href="http://en.wikipedia.org/wiki/Singleton_pattern">singleton</a> and <a href="http://en.wikipedia.org/wiki/Decorator_pattern">decorator</a> patterns.
</p>
<p>
Other parts of this series include looks at <a href="http://www.techfounder.net/2008/06/07/the-advancing-php-developer-part-4-testing/">testing</a>, <a href="http://www.techfounder.net/2008/05/27/the-advancing-php-developer-part-3-refactoring/">refactoring</a> and <a href="http://www.techfounder.net/2008/05/25/the-advancing-php-developer-part-1-coding-standards/">coding standards</a>.
</p>]]></description>
      <pubDate>Mon, 14 Jul 2008 09:32:26 -0500</pubDate>
    </item>
    <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>
