<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for little black hat - The online home of Kevin Hallmark</title>
	<atom:link href="http://www.littleblackhat.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.littleblackhat.com</link>
	<description>Little Black Hat is about the goings on of an average Internet Developer</description>
	<lastBuildDate>Sat, 16 Apr 2011 05:14:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Zend Framework &#8211; An Example Model by Kevin Hallmark</title>
		<link>http://www.littleblackhat.com/blog/2008/05/zend-framework-an-example-model/comment-page-1/#comment-225</link>
		<dc:creator>Kevin Hallmark</dc:creator>
		<pubDate>Sat, 16 Apr 2011 05:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://littleblackhat.com/blog/?p=9#comment-225</guid>
		<description>I need to upload my new BaseModel and write an article about it. For now though, I&#039;ll address your point.

By your logic, the &quot;clean&quot; OO approach should descend from neither the Row or the Table. The DAL should be completely independent. However, I ran into some problems with this approach.

The reason I chose to descend it from Zend_Db_Table_Row because I generally want to interact with individual data objects, or collections there-in. I tried going through the clean OO approach originally, and it resulted in a lot of pass through code. It also broke record collections. In order to support collections coming from Zend, I ended up creating a lot of extra objects. Memory overhead was through the roof and the population algorithms got very expensive.

Another factor is abstraction for the fetching of data objects. I don&#039;t want to assume that my application will be database based in the future. If I switch to something else, like SOAP or REST based model population, then a Table is no longer relevant. The idea behind the static methods for fetching ONLY is that it abstracts out the retrieval of records and it directly associates them to the type of object produced.

So, to summarize. I descend from the row, even though it isn&#039;t as clean, because I want to utilize as much existing functionality from my DAL intact; the Zend Framework developers are better than I. Second, utilizing static accessors directly associates the fetch with the class/model it&#039;s related to and it abstracts the fetch operation in case I decide to change my DAL in the future.</description>
		<content:encoded><![CDATA[<p>I need to upload my new BaseModel and write an article about it. For now though, I&#8217;ll address your point.</p>
<p>By your logic, the &#8220;clean&#8221; OO approach should descend from neither the Row or the Table. The DAL should be completely independent. However, I ran into some problems with this approach.</p>
<p>The reason I chose to descend it from Zend_Db_Table_Row because I generally want to interact with individual data objects, or collections there-in. I tried going through the clean OO approach originally, and it resulted in a lot of pass through code. It also broke record collections. In order to support collections coming from Zend, I ended up creating a lot of extra objects. Memory overhead was through the roof and the population algorithms got very expensive.</p>
<p>Another factor is abstraction for the fetching of data objects. I don&#8217;t want to assume that my application will be database based in the future. If I switch to something else, like SOAP or REST based model population, then a Table is no longer relevant. The idea behind the static methods for fetching ONLY is that it abstracts out the retrieval of records and it directly associates them to the type of object produced.</p>
<p>So, to summarize. I descend from the row, even though it isn&#8217;t as clean, because I want to utilize as much existing functionality from my DAL intact; the Zend Framework developers are better than I. Second, utilizing static accessors directly associates the fetch with the class/model it&#8217;s related to and it abstracts the fetch operation in case I decide to change my DAL in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Zend Framework &#8211; An Example Model by Dumm Khan</title>
		<link>http://www.littleblackhat.com/blog/2008/05/zend-framework-an-example-model/comment-page-1/#comment-224</link>
		<dc:creator>Dumm Khan</dc:creator>
		<pubDate>Wed, 13 Apr 2011 16:55:57 +0000</pubDate>
		<guid isPermaLink="false">http://littleblackhat.com/blog/?p=9#comment-224</guid>
		<description>I would go for inheriting my Base Model from Zend DB Table, this actually breaks the clean OO approach. Model and DAL should not have an IS-A relationship rather should have a HAS-A relationship.</description>
		<content:encoded><![CDATA[<p>I would go for inheriting my Base Model from Zend DB Table, this actually breaks the clean OO approach. Model and DAL should not have an IS-A relationship rather should have a HAS-A relationship.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP 5.3 and the dangers of &#8216;goto&#8217; by PHP is falling apart (or Why we need &#8216;finally&#8217;) &#171; little black hat &#8211; The online home of Kevin Hallmark</title>
		<link>http://www.littleblackhat.com/blog/2009/11/php-5-3-and-goto/comment-page-1/#comment-10</link>
		<dc:creator>PHP is falling apart (or Why we need &#8216;finally&#8217;) &#171; little black hat &#8211; The online home of Kevin Hallmark</dc:creator>
		<pubDate>Fri, 10 Dec 2010 17:04:33 +0000</pubDate>
		<guid isPermaLink="false">http://littleblackhat.com/blog/?p=37#comment-10</guid>
		<description>[...] &#8216;Goto&#8217; should not be implemented in any modern language, period. It&#8217;s not needed. Yet, PHP chose to implement this in version 5.3! The reasons for adding this were dubious at best, showing a lack of language design skills. You can read all about my opinion on goto here: http://www.littleblackhat.com/blog/2009/11/php-5-3-and-goto/ [...]</description>
		<content:encoded><![CDATA[<p>[...] &#8216;Goto&#8217; should not be implemented in any modern language, period. It&#8217;s not needed. Yet, PHP chose to implement this in version 5.3! The reasons for adding this were dubious at best, showing a lack of language design skills. You can read all about my opinion on goto here: <a href="http://www.littleblackhat.com/blog/2009/11/php-5-3-and-goto/" rel="nofollow">http://www.littleblackhat.com/blog/2009/11/php-5-3-and-goto/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Google launched a new design, and I hate it by Tweets that mention Google launched a new design, and I hate it « little black hat – The online home of Kevin Hallmark -- Topsy.com</title>
		<link>http://www.littleblackhat.com/blog/2010/05/google-launched-a-new-design-and-i-hate-it/comment-page-1/#comment-9</link>
		<dc:creator>Tweets that mention Google launched a new design, and I hate it « little black hat – The online home of Kevin Hallmark -- Topsy.com</dc:creator>
		<pubDate>Wed, 12 May 2010 18:19:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.littleblackhat.com/?p=92#comment-9</guid>
		<description>[...] This post was mentioned on Twitter by Eric Marden and Kevin Hallmark, netboss. netboss said: RT @xentek: I hate the new #Google site design, here&#039;s why: http://bit.ly/9en1sI (via @kevinh456) &lt;-- I agree completely. [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Eric Marden and Kevin Hallmark, netboss. netboss said: RT @xentek: I hate the new #Google site design, here&#39;s why: <a href="http://bit.ly/9en1sI" rel="nofollow">http://bit.ly/9en1sI</a> (via @kevinh456) &lt;&#8211; I agree completely. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Getting xDebug Working on Mac OS X with MacPorts by Tweets that mention Getting xDebug Working on Mac OS X with MacPorts « little black hat – The online home of Kevin Hallmark -- Topsy.com</title>
		<link>http://www.littleblackhat.com/blog/2009/02/getting-xdebug-working-on-mac-os-x-with-macports/comment-page-1/#comment-8</link>
		<dc:creator>Tweets that mention Getting xDebug Working on Mac OS X with MacPorts « little black hat – The online home of Kevin Hallmark -- Topsy.com</dc:creator>
		<pubDate>Sat, 03 Apr 2010 01:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://littleblackhat.com/blog/?p=12#comment-8</guid>
		<description>[...] This post was mentioned on Twitter by Kevin Hallmark. Kevin Hallmark said: My first &quot;macports xdebug&quot; article is back in the top results on Google after falling off. Yay! #shamelessplug http://tinyurl.com/yauyblt [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Kevin Hallmark. Kevin Hallmark said: My first &quot;macports xdebug&quot; article is back in the top results on Google after falling off. Yay! #shamelessplug <a href="http://tinyurl.com/yauyblt" rel="nofollow">http://tinyurl.com/yauyblt</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Getting xDebug Working on Mac OS X with MacPorts by Thoughts &#38; Ideas About Web Development&#187; Blog Archive &#187; Before You Implement Caching On Your Website</title>
		<link>http://www.littleblackhat.com/blog/2009/02/getting-xdebug-working-on-mac-os-x-with-macports/comment-page-1/#comment-7</link>
		<dc:creator>Thoughts &#38; Ideas About Web Development&#187; Blog Archive &#187; Before You Implement Caching On Your Website</dc:creator>
		<pubDate>Thu, 08 Oct 2009 22:36:59 +0000</pubDate>
		<guid isPermaLink="false">http://littleblackhat.com/blog/?p=12#comment-7</guid>
		<description>[...] Kevin Hallmark&#8217;s instructions Getting xDebug Working on Mac OS X with MacPorts [...]</description>
		<content:encoded><![CDATA[<p>[...] Kevin Hallmark&#8217;s instructions Getting xDebug Working on Mac OS X with MacPorts [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

