<?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/"
	>

<channel>
	<title>strictlyPHP &#187; Development</title>
	<atom:link href="http://www.strictlyphp.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strictlyphp.com/blog</link>
	<description>web development &#38; web analytics</description>
	<lastBuildDate>Tue, 08 Mar 2011 10:47:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>User interface decisions: multi-select</title>
		<link>http://www.strictlyphp.com/blog/2011/02/14/user-interface-decisions-multi-select/</link>
		<comments>http://www.strictlyphp.com/blog/2011/02/14/user-interface-decisions-multi-select/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 13:46:37 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ext js]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[sencha]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1300</guid>
		<description><![CDATA[Thanks to Filip Forrez for the inspiration for this post. As developers, we are often presented with UI choices. Some create subtle differences, others larger ones. One of them is the way we present the possibility to select multiple items from a set (list) of predefined items. Traditionally this is realized by 2 select-lists with the multiple [...]]]></description>
			<content:encoded><![CDATA[<p><em>Thanks to <a href="http://filip.forrez.net/">Filip Forrez</a> for the inspiration for this post.</em></p>
<p>As developers, we are often presented with UI choices. Some create subtle differences, others larger ones.</p>
<p>One of them is the way we present the possibility to <strong>select multiple items from a set</strong> (list) of predefined items. Traditionally this is realized by 2 select-lists with the <a href="http://www.w3schools.com/tags/att_select_multiple.asp">multiple</a> attribute.</p>
<p>In an (advanced) Sencha Ext Js implementation, you get this:<br />
<a href="http://dev.sencha.com/deploy/dev/examples/multiselect/multiselect-demo.html">http://dev.sencha.com/deploy/dev/examples/multiselect/multiselect-demo.html</a></p>
<p>This offers a lot of features and while we as developers see this as the default way to offer this functionality, there are other options too.</p>
<p>In the spirit of mobile development, a list with check-boxes offers the same basic functionality:<br />
<a href="http://demo.superdit.com/ext_listview_dataview/">http://demo.superdit.com/ext_listview_dataview/</a></p>
<p>You would also never be able to present the first solution on a small mobile screen. Another option to meet the same basic requirement is the way Google Calendar lets you add multiple invitees to an appointment.</p>
<p>Depending on the features you need, one option may be preferred over the other. Think of features like:</p>
<ul>
<li><em>Sorting</em>: you may need to offer the possibility to sort the result.</li>
<li><em>Quantity of predefined options</em>: too much data may require a way to search.</li>
<li><em>Linkability</em>: list-items may also need to be clickable and link to detailed information.</li>
</ul>
<p>In some cases, a more creative approach can really have your site or app pop out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2011/02/14/user-interface-decisions-multi-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replace an Ext JS Element with a HTML string</title>
		<link>http://www.strictlyphp.com/blog/2010/08/01/replace-a-ext-js-element-with-a-html-string/</link>
		<comments>http://www.strictlyphp.com/blog/2010/08/01/replace-a-ext-js-element-with-a-html-string/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 11:59:32 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ext js]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1292</guid>
		<description><![CDATA[After trying to do something as simple as replacing an HTML element in the dom with a string (HTML in this case) with Ext JS for about 3 hours without finding a proper answer on Google, I thought someone else might also benefit from my (sub-optimal) solution. In my case, the string was a HTML [...]]]></description>
			<content:encoded><![CDATA[<p><em>After trying to do something as simple as replacing an HTML element in the dom with a string (HTML in this case) with Ext JS for about 3 hours without finding a proper answer on Google, I thought someone else might also benefit from my (sub-optimal) solution.</em></p>
<p>In my case, the string was a HTML fragment returned from an AJAX call. It needed to replace a HTML element already in place in the dom.</p>
<p><em>Ext.DomHelper.overwrite() </em>works, but only replaces the contents of an existing element, not the element itself (and since the parent of that element contained other elements too, a higher level selection didn&#8217;t solve it either).</p>
<p>You would expect <em>Ext.DomHelper.insertHtml(&#8216;beforeBegin&#8217;, oldElement, html)</em> and deleting the oldElement afterwards to work, but it generated an error message which (if I&#8217;m correct) told that the html string is not linked to the dom already (which is of course not the case).</p>
<p>Since I could not find a proper working solution, I tried to use the <strong>Ext.DomHelper.createTemplate()</strong> method to create an Ext.Template and to use template.insertBefore() with an empty values array to get it into the dom before removing the old element. This does not look optimal, but at least it works&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2010/08/01/replace-a-ext-js-element-with-a-html-string/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Indexes on multiple columns in MySQL</title>
		<link>http://www.strictlyphp.com/blog/2010/02/11/indexes-on-multiple-columns-in-mysql/</link>
		<comments>http://www.strictlyphp.com/blog/2010/02/11/indexes-on-multiple-columns-in-mysql/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 13:40:17 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1277</guid>
		<description><![CDATA[When optimizing queries, you don&#8217;t need to be reminded that indexes play an important role. Something to remember though: in real-world examples a multi-column index often outperforms multiple indexes. So it can be worth changing something like: INDEX `index1`(`column1`), INDEX `index2`(`column2`) to INDEX `index1`(`column1`, `column2`) MySQL 5.0 introduced an internal method called &#8220;Index Merge&#8221; which [...]]]></description>
			<content:encoded><![CDATA[<p><em>When optimizing queries, you don&#8217;t need to be reminded that indexes play an important role.</em></p>
<p>Something to remember though: in real-world examples <a href="http://www.mysqlperformanceblog.com/2008/08/22/multiple-column-index-vs-multiple-indexes/" target="_blank">a multi-column index often outperforms multiple indexes</a>.<br />
So it can be worth changing something like:</p>
<pre>INDEX `index1`(`column1`),
INDEX `index2`(`column2`)</pre>
<p>to</p>
<pre>INDEX `index1`(`column1`, `column2`)</pre>
<p>MySQL 5.0 introduced an internal method called &#8220;<a href="http://dev.mysql.com/doc/refman/5.0/en/index-merge-optimization.html" target="_blank">Index Merge</a>&#8221; which merges multiple indexes when querying a table (if applicable) but I haven&#8217;t seen this being used that often. On the contrarry, <strong>MySQL often picks one of the indexes </strong>and in these scenario&#8217;s it is especcialy usefull to have one multi-column index.</p>
<p>As always: use <a href="http://dev.mysql.com/doc/refman/5.0/en/using-explain.html" target="_blank">EXPLAIN</a> to see what can be improved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2010/02/11/indexes-on-multiple-columns-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirecting in Zend Framework</title>
		<link>http://www.strictlyphp.com/blog/2009/12/30/redirecting-in-zend-framework/</link>
		<comments>http://www.strictlyphp.com/blog/2009/12/30/redirecting-in-zend-framework/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 11:08:27 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1208</guid>
		<description><![CDATA[While working with Zend Framework, you must have asked yourself &#8220;Is there an easy way to redirect to another controller/action?&#8221; Well, there is. When redirecting inside a controller, the first method we think about will probably be $this-&#62;_redirect(). This is quick, but it only accepts a URL. This means you have to create a URL [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1210" title="redirect" src="http://www.strictlyphp.com/blog/wp-content/uploads/2009/12/redirect.jpg" alt="" width="100" height="100" /></p>
<p><em>While working with Zend Framework, you must have asked yourself &#8220;Is there an easy way to redirect to another controller/action?&#8221;</em></p>
<p>Well, there is. When redirecting inside a controller, the first method we think about will probably be $this-&gt;_redirect(). This is quick, but it only accepts a URL. This means you have to create a URL to a specific route yourself. Either with the $this-&gt;view-&gt;url() URL view helper (which is not a pretty sight) or by assembling a route.</p>
<p>Yes, there is also $this-&gt;_forward() which sends your request to another controller/action, but it also goes through all init() logic again and forwarding isn&#8217;t suited for every situation (e.g. after a form POST).</p>
<p>But there is a far more <strong>flexible</strong> way: the less known <a href="http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.redirector" target="_blank">Redirector action helper</a>. Actually, $this-&gt;_redirect() uses it, but it provides easier ways to redirect to a specific route:</p>
<pre>$redirector = $this-&gt;getHelper('Redirector');
$params = array(
	'controller' =&gt; 'my-controller',
	'action' =&gt; 'my-action',
	'other-param' =&gt; 'value'
);
$redirector-&gt;gotoRoute($params, 'my-route', true);</pre>
<p>Its usage will be self explanatory (actually the parameters are the same as the URL view helper), but I want to add a little note about the last parameter (which the URL view helper also accepts): if true, it &#8220;resets&#8221; your route, meaning all other parameters currently in your Request object are removed. This implies that when setting it to false (which is the default) parameters you have in your &#8220;current URL&#8221; will be reused (unless overwritten).<br />
This can be particularly useful when passing search query, paging,&#8230; parameters from one page to another.</p>
<p>So, next time you need to redirect: pull out the Redirector action helper.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/12/30/redirecting-in-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stay informed on Zend Framework</title>
		<link>http://www.strictlyphp.com/blog/2009/12/29/stay-informed-on-zend-framework/</link>
		<comments>http://www.strictlyphp.com/blog/2009/12/29/stay-informed-on-zend-framework/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 12:09:21 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1197</guid>
		<description><![CDATA[When developing with Zend Framework, it is difficult to keep track of new versions, new components, changes to components, roadmaps,&#8230; After &#8220;Beginning Zend Framework&#8220;, you&#8217;ll need to stay current too. You can of course read everything on the wiki, but if you use a RSS reader (if not, you really need to) add this feed. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1200" style="float: right; border-width: 0; margin: 0 0 15px 20px;" title="Zend Framework" src="http://www.strictlyphp.com/blog/wp-content/uploads/2009/12/zend-framework.gif" alt="" width="123" height="23" /></p>
<p><em>When developing with Zend Framework, it is difficult to keep track of new versions, new components, changes to components, roadmaps,&#8230;</em></p>
<p>After &#8220;<a href="http://www.strictlyphp.com/blog/2009/12/29/beginning-zend-framework/">Beginning Zend Framework</a>&#8220;, you&#8217;ll need to <strong>stay current</strong> too. You can of course read everything on the <a href="http://framework.zend.com/wiki/" target="_blank">wiki</a>, but if you use a RSS reader (if not, you <a href="http://reader.google.com/" target="_blank">really</a> need to) add <a href="http://framework.zend.com/wiki/createrssfeed.action?types=page&amp;types=blogpost&amp;types=comment&amp;statuses=created&amp;statuses=modified&amp;spaces=conf_all&amp;labelString=&amp;rssType=rss2&amp;maxResults=10&amp;timeSpan=5&amp;publicFeed=true&amp;title=Zend+Framework+Wiki+RSS+Feed" target="_blank">this feed</a>.</p>
<p>It provides a great overview of all proposals and discussions concerning components. Even if you don&#8217;t have time to follow up on this each day (there can be a lot of comments), by looking at the titles of the posts you can have an idea of what is going on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/12/29/stay-informed-on-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginning Zend Framework</title>
		<link>http://www.strictlyphp.com/blog/2009/12/29/beginning-zend-framework/</link>
		<comments>http://www.strictlyphp.com/blog/2009/12/29/beginning-zend-framework/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 11:51:15 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1184</guid>
		<description><![CDATA[One of the consequences of the huge popularity of Zend Framework is that everyone who is using PHP in one way or another has at least thought about using it (because it all sounds so good and, possibly, easy). But different people need different approaches to start developing with Zend Framework. And the publishing companies [...]]]></description>
			<content:encoded><![CDATA[<p><em><span>One of the consequences of the huge popularity of <a href="http://framework.zend.com/" target="_blank"><span>Zend</span> Framework</a> is that everyone who is using PHP in one way or another has at least thought about using it (because it all sounds so good and, possibly, easy).</span></em></p>
<p><span>But different people need different approaches to start developing with <span>Zend</span> Framework. And the publishing companies that published the first books about <span>Zend</span> Framework (and apparently also the second wave of books) tend to </span><strong>forget about some groups of users</strong>. A little summary (in no way meant to offend):</p>
<h3>Developers with a different background <span style="font-size: x-small;">(another programming language)</span></h3>
<p>Depending on the background, migration will not be that hard. I can imagine a .NET or Java developer easily gets the principles of a framework (and hopefully also understands OO programming). Ruby or Python will be even easier (but why on earth would they migrate?).</p>
<h3>The average PHP developer <span style="font-size: x-small;"><span>(not already using <span>Zend</span> Framework of course)</span></span></h3>
<p><span>If the <a href="http://framework.zend.com/manual/" target="_blank"><span>Zend</span> Framework manual</a> is not sufficient for this group, there certainly are </span><a href="http://www.amazon.com/gp/product/1847194222?ie=UTF8&amp;tag=str0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1847194222" target="_blank">a</a> <a href="http://www.amazon.com/gp/product/0615303889?ie=UTF8&amp;tag=str0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0615303889" target="_blank">lot</a> <a href="http://www.amazon.com/gp/product/1430219068?ie=UTF8&amp;tag=str0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430219068" target="_blank">of</a> <a href="http://www.amazon.com/gp/product/1430218258?ie=UTF8&amp;tag=str0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430218258" target="_blank">books</a> available that eliminate all barriers. Of course look for the most recent books, since a lot of versions have been announced the last 2 years and, to be honest, some of the early books were published in a hurry to benefit from being among the first.</p>
<h3><span><span>Dreamweaver</span> users </span><span style="font-size: x-small;"><span>(often called &#8220;<span>webdesigners</span>&#8220;)</span></span></h3>
<p><span>Yes, this group is also (willingly or unwillingly) pushed to, at least, have a look at <span>Zend</span> Framework. And to be honest, at the moment, I wouldn&#8217;t know how they can prevent themselves from creating something that isn&#8217;t maintainable in the years to come.</span><br />
Zend Framework (or any other framework in this case) promises a lot of good things (which may lack in the current PHP snippets, Smarty templates, open source CMS,&#8230; now being used). Starting with the manual certainly is tricky. Getting a thorough grip of PHP/OO concepts may sound boring, but you need it.<br />
As a suggestion: don&#8217;t set too high expectations and take your time. It may be useful to force yourself to get a PHP certification. Not because you need it, but because it forces you to learn/refresh the PHP basics.</p>
<p>Also: be honest to yourself. If you notice OO concepts don&#8217;t interest you, think about it and maybe try something else. Another lightweight framework like <a href="http://codeigniter.com/" target="_blank"><span><span>CodeIgniter</span></span></a> (there is no such thing as &#8220;the best framework&#8221;) or no PHP development at all may better suit you. No one has ever been happy forcing themselves in a position doing something they don&#8217;t like to do!</p>
<h3>Dummies</h3>
<p>Belonging to this group is <strong>no disadvantage</strong><span>. <span>Ok</span>, you don&#8217;t have the experience of someone who has been using PHP since before the dot-com bubble burst, but at least you acknowledge this. Starting from scratch (and knowing it) can eliminate a lot of barriers.</span><br />
Start by learning PHP and fairly early start with a decent <a href="http://www.amazon.com/gp/product/1430210117?ie=UTF8&amp;tag=str0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430210117" target="_blank">PHP OO book</a><span> and, again, take your time. In my opinion you don&#8217;t have to finish 5 courses and 3 books to start with <span>Zend</span> Framework. When learning <span>Zend</span> Framework (e.g. from the <a href="http://framework.zend.com/manual/" target="_blank">manual</a>) you&#8217;ll also learn OO principles and best practices, but you need a basic knowledge first.</span><br />
Also don&#8217;t expect that you can add new Zend Framework components on day 2, it will take time.</p>
<p><span>Did I forget about someone? I certainly hope this post can help as a starting point for new <span>Zend</span> Framework developers (or people thinking about becoming one).</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/12/29/beginning-zend-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gettext translation with Google Translate</title>
		<link>http://www.strictlyphp.com/blog/2009/11/27/gettext-translation-with-google-translate/</link>
		<comments>http://www.strictlyphp.com/blog/2009/11/27/gettext-translation-with-google-translate/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 11:34:43 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1173</guid>
		<description><![CDATA[Working with gettext as your translation engine your project? In need of a rough translation of your application for a mockup/preview/&#8230;? Paul Dixon offeres a free service that automatically translates a gettext PO file with Google Translate. I personally use gettext a lot because of its speed and ease of use (with poEdit) and this [...]]]></description>
			<content:encoded><![CDATA[<p><em>Working with gettext as your translation engine your project? In need of a rough translation of your application for a mockup/preview/&#8230;?</em></p>
<p>Paul Dixon offeres a free service that <a href="http://pepipopum.dixo.net/" target="_blank">automatically translates a gettext PO file</a> with Google Translate. I personally use gettext a lot because of its speed and ease of use (with <a href="http://www.poedit.net/" target="_blank">poEdit</a>) and this will certainly be of use.</p>
<p>Of course the results should not be used in a production application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/11/27/gettext-translation-with-google-translate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Propel version 1.4.0 released</title>
		<link>http://www.strictlyphp.com/blog/2009/11/16/propel-version-1-4-0-released/</link>
		<comments>http://www.strictlyphp.com/blog/2009/11/16/propel-version-1-4-0-released/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 21:17:20 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[propel]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1159</guid>
		<description><![CDATA[Although I must admit I didn&#8217;t notice it, less than 2 months after it was decided to create a new version for Propel, it was actually released. Last week, on the 8th of November, the new 1.4.0 version has been released for production use. Additionally they also set up a blog to prove Propel is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.strictlyphp.com/blog/wp-content/uploads/2009/11/propel.gif"><img class="alignleft size-full wp-image-1160" style="border: 0;" title="propel" src="http://www.strictlyphp.com/blog/wp-content/uploads/2009/11/propel.gif" alt="propel" width="200" height="73" /></a></p>
<p><em>Although I must admit I didn&#8217;t notice it, less than 2 months after it was decided to create a new version for <a href="http://propel.phpdb.org/" target="_blank">Propel</a>, it was actually released.</em></p>
<p>Last week, on the 8th of November, the <a href="http://propel.phpdb.org/trac/wiki/Users/News/Propel14StableReleasedAndNewBlog" target="_blank">new 1.4.0 version</a> has been released for production use. Additionally they also set up a <a href="http://propel.posterous.com/" target="_blank">blog</a> to prove Propel is still very much alive.</p>
<blockquote><p>Propel 1.4 is a backwards compatible evolution of Propel 1.3. It offers <strong>lots of bug fixes</strong>, some very interesting new features, <strong>speed enhancements</strong>, and <strong>a very simple upgrade path</strong>: rebuild your model after updating Propel, and your application works as always. Except it works better&#8230;</p></blockquote>
<p>It all sounds to good to be true!</p>
<p>A first migration of a project to this new version went smoothly: remember to remove the *-classmap.php file that was generated by 1.3.0 because it has been integrated in the main config file. It&#8217;s also recommendable to delete the /map sub-folder in your models folder because 1.4.0 generates newly named *TableMap.php files.</p>
<p>Also good to have: full query logging (Propel 1.3 switched to PDO and lost this feature but it&#8217;s back!).</p>
<p>I must also admit I have never actually implemented <a href="http://www.doctrine-project.org/" target="_blank">Doctrine</a>, but that&#8217;s also because I haven&#8217;t found a reason while using Propel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/11/16/propel-version-1-4-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add Apache Ant to PDT</title>
		<link>http://www.strictlyphp.com/blog/2009/10/17/add-apache-ant-to-pdt/</link>
		<comments>http://www.strictlyphp.com/blog/2009/10/17/add-apache-ant-to-pdt/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 14:34:17 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[pdt]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1143</guid>
		<description><![CDATA[I&#8217;ve been looking for this for a while: how to add Apache&#8217;s build tool Ant to Eclipse when it is not available to add as a view. When you download and run the standard PDT for example, it is not available. The answer seems to be: install the Eclipse Java Development Tools. This may not [...]]]></description>
			<content:encoded><![CDATA[<p><em>I&#8217;ve been looking for this for a while: how to add Apache&#8217;s build tool Ant to Eclipse when it is not available to add as a view.</em></p>
<p>When you download and run the standard <a href="http://www.eclipse.org/pdt/" target="_blank">PDT</a> for example, it is not available.</p>
<p>The answer seems to be: <strong>install the Eclipse Java Development Tools</strong>.</p>
<p>This may not be the ideal way but if you want to do this through the &#8220;Install New Software&#8230;&#8221; menu, it seems to be the only one.</p>
<p>Just select &#8220;Work with: Galileo&#8221; (or whatever your Eclipse version is) expand &#8220;Programming Languages&#8221; and select &#8220;Eclipse Java Development&#8221;.</p>
<p>After the installation completes you can <strong>add Ant as a view</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/10/17/add-apache-ant-to-pdt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zend Server, a first impression</title>
		<link>http://www.strictlyphp.com/blog/2009/09/15/zend-server-a-first-impression/</link>
		<comments>http://www.strictlyphp.com/blog/2009/09/15/zend-server-a-first-impression/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 08:31:26 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend server]]></category>

		<guid isPermaLink="false">http://www.strictlyphp.com/blog/?p=1110</guid>
		<description><![CDATA[I finally tried Zend Server Community Edition as a replacement of WampServer (or XAMPP) for local development. While Zend Server proposes to be the perfect solution for any environment, I specifically tried it as a development stack on Windows machines. The use and usefulness of course completely differ in any other scenario. First of all [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1113" style="border-width: 0;" title="Zend Server" src="http://www.strictlyphp.com/blog/wp-content/uploads/2009/09/download-box-server.gif" alt="Zend Server" width="107" height="130" /></p>
<p><em>I finally tried  <a href="http://www.zend.com/products/server-ce/downloads" target="_blank">Zend Server Community Edition</a> as a replacement of <a href="http://www.wampserver.com/en/" target="_blank">WampServer</a> (or XAMPP) for local development.</em></p>
<p>While Zend Server proposes to be the perfect solution for any environment, I specifically tried it <strong>as a development stack on Windows machines</strong>. The use and usefulness of course completely differ in any other scenario.</p>
<p>First of all (and of great importance if you ask me): it is <strong>clean, simple and easy to use</strong> from A to Z. The installer provides the right options but not too many, the dashboard (control panel) is slick and provides quick access to settings you don&#8217;t often find in any other &#8220;server packages&#8221; and last but not least it performs much better due to the use of FastCGI on Windows.</p>
<p>2 less-frequently used features I missed though:</p>
<ul>
<li>A way to set up VirtualHosts in the dashboard.</li>
<li>A WampServer-like way to switch between PHP (and in a lesser extend Apache) versions.</li>
</ul>
<p>In total, the fine packaging almost got me convinced to replace WampServer.</p>
<p>Almost&#8230; because the choice for FastCGI on Windows also has <strong>one major disadvantage</strong>: you cannot <a href="http://forums.zend.com/viewtopic.php?f=8&amp;t=459" target="_blank">use php_value settings inside your Apache/VirtualHost configuration</a>. I especially like this since it avoids setting include_path, display_errors, upload_max_filesize and the like inside your scripts or .htaccess (which in some setups causes it to be parsed at every request).<br />
Doing this in Zend Server on another platform isn&#8217;t a problem, since they use the PHP Apache module instead of CGI but that means you do not have similar environments and that is the complete opposite of what we want.</p>
<p>So it ended with a deinstallation. On the other hand: I can really see the benefit of this package for live/production environments. With it&#8217;s included optimization tools it takes a lot of configuration hassle away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strictlyphp.com/blog/2009/09/15/zend-server-a-first-impression/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

