<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Zach Peacock&#039;s Blog</title>
	<atom:link href="http://thoomtech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thoomtech.wordpress.com</link>
	<description>A PHP developer&#039;s rantings</description>
	<lastBuildDate>Wed, 31 Mar 2010 04:28:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thoomtech.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Zach Peacock&#039;s Blog</title>
		<link>http://thoomtech.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thoomtech.wordpress.com/osd.xml" title="Zach Peacock&#039;s Blog" />
	<atom:link rel='hub' href='http://thoomtech.wordpress.com/?pushpress=hub'/>
		<item>
		<title>New Blog Website</title>
		<link>http://thoomtech.wordpress.com/2010/03/30/new-blog-website/</link>
		<comments>http://thoomtech.wordpress.com/2010/03/30/new-blog-website/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 04:28:10 +0000</pubDate>
		<dc:creator>thoomtech</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thoomtech.wordpress.com/?p=47</guid>
		<description><![CDATA[I have moved the blog to thoomtech.com. Please update your RSS links. Thanks!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=47&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have moved the blog to <a href="http://thoomtech.com">thoomtech.com</a>. Please update your RSS links.</p>
<p>Thanks!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thoomtech.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thoomtech.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thoomtech.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=47&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thoomtech.wordpress.com/2010/03/30/new-blog-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1713e2b830d75a751587aa6bc5c9c2da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thoomtech</media:title>
		</media:content>
	</item>
		<item>
		<title>Thoom Framework v.2 status</title>
		<link>http://thoomtech.wordpress.com/2010/03/30/thoom-framework-v-2-status/</link>
		<comments>http://thoomtech.wordpress.com/2010/03/30/thoom-framework-v-2-status/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 18:06:45 +0000</pubDate>
		<dc:creator>thoomtech</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[thoom]]></category>

		<guid isPermaLink="false">http://thoomtech.wordpress.com/?p=24</guid>
		<description><![CDATA[Since my initial post in January about changes I want to make to my Thoom framework, I have had some mixed feelings about the future roadmap. I am currently employed as a web application architect, and I use the Thoom Framework on a daily basis. We have introduced a few new projects, and I made [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=24&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since my initial post in January about changes I want to make to my Thoom framework, I have had some mixed feelings about the future roadmap. I am currently employed as a web application architect, and I use the Thoom Framework on a daily basis. We have introduced a few new projects, and I made the difficult decision to use the Zend Framework instead of Thoom. There were many reasons for making this decision:</p>
<ol>
<li>We can hire contract programmers that already have ZF experience. Although I have tried to keep TF updated with phpdoc api documentation, there is still a learning curve.</li>
<li>ZF has many full-time contributors, whereas TF has one contributor who has other full-time obligations in addition to being a husband and father.</li>
<li>ZF has many useful modules that allow for rapid development. TF was built to be a minimal MVC framework, and there are many features lacking. Some of these features are not easily extended using other modules.</li>
</ol>
<p>The decision to use the Thoom framework rather than ZF was partially because my employer needed a quick POC, and at the time, ZF was not even at a 1.0 release. Over the last few years, ZF has expanded and grown to become one of the defacto PHP frameworks. I just have not had the time to keep up with the features that ZF has today.</p>
<p>In January, I was hoping that I would have more time at work and at home to work on my pet project. Unfortunately, life changes and what is important to me has also changed.</p>
<p>So rather than spending time building brand new functionality, instead I have built several Thoom-Zend bridges so that we can utilize the same code for the various projects that I am responsible for. For instance, the Thoom_Db classes can now use Zend_Db_Adapter classes for database connections. Thoom_View templates can use Zend_Action_Helpers and some of the Controller utility methods now mimic Zend Controller Actions like $this-&gt;_getParam(), $this-&gt;_hasParam(), etc.</p>
<p>The goals I set in January are still valuable; however, I don&#8217;t believe that many of them will ever be implemented. It really feels like I will end up mimicking the Zend Framework enough that eventually we will just migrate to ZF from my simpler Thoom codebase.</p>
<p>In a way, I am sad that I may never update Thoom to be what I want it to be. However, I now have time to work on other projects that I am even more excited about, including being more diligent with my tech blogging. In the coming days, I have a few more posts that will go into more details about what I will be doing instead&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thoomtech.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thoomtech.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thoomtech.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=24&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thoomtech.wordpress.com/2010/03/30/thoom-framework-v-2-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1713e2b830d75a751587aa6bc5c9c2da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thoomtech</media:title>
		</media:content>
	</item>
		<item>
		<title>Thoom PHP Framework version 2</title>
		<link>http://thoomtech.wordpress.com/2010/01/14/thoom-php-framework-version-2/</link>
		<comments>http://thoomtech.wordpress.com/2010/01/14/thoom-php-framework-version-2/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 06:02:08 +0000</pubDate>
		<dc:creator>thoomtech</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[thoom]]></category>

		<guid isPermaLink="false">http://thoomtech.wordpress.com/?p=11</guid>
		<description><![CDATA[The Thoom PHP framework is my labor of love that I use to keep up-to-date on PHP philosophy and OO goodness. My initial goal was to create modules for any functionality that you&#8217;d want&#8230; from Authentication to Validation to standard MVC fare. Well, l was able to build a version 1 beta of the site [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=11&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Thoom PHP framework is my labor of love that I use to keep up-to-date on PHP philosophy and OO goodness. My initial goal was to create modules for any functionality that you&#8217;d want&#8230; from Authentication to Validation to standard MVC fare.</p>
<p>Well, l was able to build a version 1 beta of the site and have been using it on a daily basis. What I have come to understand is that I don&#8217;t want to create modules for EVERY piece. I am perfectly fine using classes like Zend_Filter or Zend_Validate with my controller or model classes.</p>
<p>After the stresses of moving, having a baby, starting a new job, and the holiday season, I have time to refocus my efforts. As I looked at the pieces I wanted to work on, I decided that I want to focus on having Thoom provide a slim, efficient, interesting MVC base that uses PEAR and Namespaced-style autoloading that allows users to utilize other libraries, such as the beast that is the Zend Framework.</p>
<p>Since the framework was never taken out of a beta, I think that I will break compatibility where it makes sense&#8230; and I will deprecate classes that I don&#8217;t want or plan to maintain.</p>
<p>I also think I started to reinvent the wheel in some cases&#8230; instead of using PHP&#8217;s strengths I wrote container classes that provided less functionality&#8230;</p>
<p>With the above in mind, the Thoom framework will shrink in overall functionality, but should increase in the areas that matter most.</p>
<p><strong>Thoom_Application</strong>: This class replaces Thoom_Loader&#8217;s static class. It is one of the only classes that uses a Singleton pattern. It&#8217;s strength is the bootstrap class that allows the user the ability to customize the framework data before it launches. The configuration file is passed to the application, so that a programmer can have different files loaded depending on the environment.</p>
<p><strong>Thoom_Confi</strong><strong>g</strong>: This base class is extended by the application&#8217;s configuration class. In many areas, this class replaces the ubiquitous Thoom_Registry from the version 1 framework. I want to move away from having so many classes tied to the Registry. As I have utilized version 1, I noticed that I rarely used the Registry for anything <em>other than</em> accessing configuration or routed values. I want to utilize dependency injection instead. For instance, classes that used to rely on the Registry for configuration data will instead accept a Thoom_Config object.</p>
<p><strong>Thoom_Controller</strong>: This class will more than likely be the key class that breaks compatibility with version 1 sites. I will again utilize dependency injection rather than rely on tying code to the registry. It will be able to access the View, Config, Requests, Session data, from methods like <em>$this-&gt;view()-&gt;render()</em> or <em>$this-&gt;getConfig($variable, $namespace)</em> or <em>$this-&gt;request()-&gt;getPost($variable)</em> and <em>$this-&gt;request()-&gt;isPost()</em>.</p>
<p>There is also no longer a default action/default controller and all actions are prefixed with the term &#8216;action&#8217; instead of being suffixed with the term (i.e.<em> public function indexAction(){} </em>in version 1 of the framework becomes <em>public function actionIndex(){}</em> in version 2.)</p>
<p><strong>Thoom_View</strong>: I am adding the ability to create view helper classes and their templates. I foresee several view form helper classes that can build a form as well as validate the form elements in a response.</p>
<p><strong>Thoom_Db</strong>: I love many aspects of the current Thoom_Db class. One aspect I don&#8217;t like is the fact that you either have to pass the configuration to a Thoom_Db based class <em>or</em> you have to rely on the registry. The code looks something like this:</p>
<p><pre class="brush: php;">
$registry = Thoom_Registry::getInstance();
$dbConfig = $registry-&gt;sys-&gt;config-&gt;database;
</pre></p>
<p>This class will no longer be tied to the registry, but will instead expect a Thoom_Config class passed. The configuration will be static, so that it can be passed in the bootstrap. You would be able to do something like this:</p>
<p><pre class="brush: php;">
class Bootstrap extends Thoom_Bootstrap {
  public function initDb() {
    $app = Thoom_Application::getInstance();
    $config = $app-&gt;getConfig(); //Returns a Thoom_Config reference
    Thoom_Db::setConfig($config);
  }
}
</pre></p>
<p>In addition, you could create your own db interface (for instance, if you want to use Postgres instead of MySQL). Using Thoom_Db_Adapter_Interface, you could just pass the following in the bootstrap instead (assuming that you have created an adapter class called MyDbAdapter):</p>
<p><pre class="brush: php;">
public function initDb() {
  $myDbAdapter = new MyDbAdapter();
  Thoom_Db::setAdapter($myDbAdapter);
}
</pre></p>
<p>The setAdapter() method prefers to have classes that implement the Thoom_Db_Adapter_Interface, but using reflection, it can verify that the methods the Db requires are available. For instance, you could use Zend_Db to create a MySQLi-based Adapter rather than using PDO.</p>
<p><strong>Thoom_Routes</strong>: This class was a late comer in the version 1 beta cycle. Many frameworks make routing so complicated&#8230; Instead, I want to provide the ability to simplify the routing process. I will have a regex-based system here, but for the most part, routes are defined in arrays and stored in Routes-inherited class. Thoom_Router will accept Thoom_Routes classes that define module,  controller, and action.</p>
<p>These are only a few of the changes that I am planning on making to the framework. I&#8217;m pretty excited and plan on posting progress as it happens.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thoomtech.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thoomtech.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thoomtech.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=11&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thoomtech.wordpress.com/2010/01/14/thoom-php-framework-version-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1713e2b830d75a751587aa6bc5c9c2da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thoomtech</media:title>
		</media:content>
	</item>
		<item>
		<title>Purpose of this site</title>
		<link>http://thoomtech.wordpress.com/2009/12/18/purpose-of-this-site/</link>
		<comments>http://thoomtech.wordpress.com/2009/12/18/purpose-of-this-site/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 19:12:03 +0000</pubDate>
		<dc:creator>thoomtech</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://thoomtech.wordpress.com/?p=6</guid>
		<description><![CDATA[I have done blogs in the past, but most of the time I have mainly used the blog as an exercise in coding, where I will build a website based off of a framework and then will use the blog for a little while until I want to build a new site and I&#8217;d start [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=6&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have done blogs in the past, but most of the time I have mainly used the blog as an exercise in coding, where I will build a website based off of a framework and then will use the blog for a little while until I want to build a new site and I&#8217;d start the process over again.</p>
<p>Being a professional web application developer, I wanted to have a place where I can post hints, tricks, tutorials, or just general thoughts on this developing for this big ol&#8217; Internet. I wanted a place that could handle any traffic spikes that may one day come and give me a place to post without worrying about stuff I normally I have to worry about <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Feel free to check back from time to time. I am sure to have something of interest at some point!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thoomtech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thoomtech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thoomtech.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thoomtech.wordpress.com&amp;blog=11016880&amp;post=6&amp;subd=thoomtech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thoomtech.wordpress.com/2009/12/18/purpose-of-this-site/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1713e2b830d75a751587aa6bc5c9c2da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thoomtech</media:title>
		</media:content>
	</item>
	</channel>
</rss>
