<?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>Peter Breuls's Weblog &#187; PHP</title>
	<atom:link href="http://blog.breuls.org/category/tech/php-tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.breuls.org</link>
	<description>Discoveries of a Dutch Developer</description>
	<lastBuildDate>Thu, 16 Jul 2009 12:16:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Namespaces in PHP</title>
		<link>http://blog.breuls.org/2009/07/16/namespaces-in-php/</link>
		<comments>http://blog.breuls.org/2009/07/16/namespaces-in-php/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 12:16:03 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[namespaces]]></category>
		<category><![CDATA[php5.3]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=85</guid>
		<description><![CDATA[Within PHP, the current Big Thing, in a way, is namespaces. However: it&#8217;s brand new and not every PHP developer knows how, if at all, to use then. Good thing there&#8217;s tutorials about that. Sitepoint has one in three parts: 1, 2, 3.]]></description>
			<content:encoded><![CDATA[<p>Within PHP, the current Big Thing, in a way, is <a href="http://us2.php.net/manual/en/language.namespaces.php">namespaces</a>. However: it&#8217;s brand new and not every PHP developer knows how, if at all, to use then. Good thing there&#8217;s tutorials about that. Sitepoint has one in three parts: <a href="http://www.sitepoint.com/blogs/2009/07/13/php-53-namespaces-basics">1</a>, <a href="http://www.sitepoint.com/blogs/2009/07/14/php-namespaces-import-alias-resolution/">2</a>, <a href="http://www.sitepoint.com/blogs/2009/07/15/how-to-use-php-namespaces-part-3-keywords-and-autoloading/">3</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2009/07/16/namespaces-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farewell to PHP4</title>
		<link>http://blog.breuls.org/2008/08/08/farewell-to-php4/</link>
		<comments>http://blog.breuls.org/2008/08/08/farewell-to-php4/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 08:35:27 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[php4]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=78</guid>
		<description><![CDATA[When I started out PHP&#8217;ing, I bought a little PHP book called &#8216;PHP pocket reference&#8217;. It was one of those small O&#8217;Reilly books and it was written by Rasmus Lerdorf himself. I still have it, although of course I don&#8217;t use it anymore. The book focused on PHP3, although PHP4 was already released. So, basically, [...]]]></description>
			<content:encoded><![CDATA[<p>When I started out PHP&#8217;ing, I bought a little PHP book called &#8216;PHP pocket reference&#8217;. It was one of those small O&#8217;Reilly books and it was written by Rasmus Lerdorf himself. I still have it, although of course I don&#8217;t use it anymore.</p>
<p>The book focused on PHP3, although PHP4 was already released. So, basically, I learned PHP with version 3. I started out writing scripts with a .php3 extension, something I still don&#8217;t understand; why was the version number included in the extension?</p>
<p>Anyway, not long after I started PHP&#8217;ing, my environments switched to PHP4 and I became a PHP4-developer. And I still am. One of my employers still uses PHP4 and although today is PHP4&#8242;s death date, there is no indication that there&#8217;s an urge to speed up the upgrade process (which thankfully is in place and being worked on).</p>
<p>The problem with PHP4 and PHP5 is that the upgrade process actually is a big step. For the software, because not everything &#8216;just works&#8217; when you upgrade to 5, but also for the developers. Some of my co-workers still consider the features that were introduced or improved in 5 &#8216;new&#8217;, although they&#8217;ve now been included with PHP for years. And that&#8217;s understandable; when working heavily on projects in PHP4, and without having the opportunity to check out what&#8217;s ahead and trying to use newer features, you&#8217;ll never get a taste of it. Of course, developers should take those opportunities themselves, checking out new features and developments in their own time, but not everyone does that.</p>
<p>So today is the end of PHP4. Not really of course, because lots of developers will probably still spend months working on PHP4 code. It will work just fine and do just what you want forever, it just won&#8217;t have any updates anymore, But if you consider the fact that some servers (even those of my employer) still run a 4.3.X-version of PHP, that hardly matters.</p>
<p>I&#8217;m glad I switched the projects at my other employer to PHP5 at the start of 2008; not only are we up to date, but the new features (or simply the small improvements in existing features) make working with PHP a lot nicer. And we&#8217;re ready for the future; PHP6 is upon us, and I hope it will be adopted (and adoptable) a lot faster than its predecessor.</p>
<p>PHP4, you&#8217;ve served us well. You paved the way for PHP5. Thanks! Now get out, and stay out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/08/08/farewell-to-php4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools of the trade</title>
		<link>http://blog.breuls.org/2008/07/02/tools-of-the-trade/</link>
		<comments>http://blog.breuls.org/2008/07/02/tools-of-the-trade/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 07:25:54 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=75</guid>
		<description><![CDATA[It&#8217;s always fun to compare tools. Who works with what and especially, why? Following the example of Flickr and some others, let me list my tools, see if you match: Working: Main machine: MacBook Pro. I have an Ubuntu PC, but that&#8217;s just &#8216;extra&#8217;. I do everything on my Mac, from working to living. Editors: [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s always fun to compare tools. Who works with what and especially, why? Following the <a href="http://code.flickr.com/blog/2008/06/30/trickr-or-humanising-the-developers-part-2/">example</a> of Flickr and some others, let me list my tools, see if you match:</p>
<p>Working:</p>
<ul>
<li>Main machine: MacBook Pro. I have an Ubuntu PC, but that&#8217;s just &#8216;extra&#8217;. I do everything on my Mac, from working to living.</li>
<li>Editors: Zend Studio 6 for all the main development tasks, completed by TextMate (and the handy &#8216;mate&#8217; cli-command) and vim for serveral minor things.</li>
<li>Transmit: used for access to (s)FTP code locations, and to manually check whether (s)FTP import applications do what they should</li>
<li>iTerm with usually about six tabs. I traverse folders, grep through them, use CVS/SVN commands and access MySQL from the commandline. And of course I connect to development and production servers using ssh, but that goes without saying.</li>
<li>MySQL Query Browser: I can usually do what I want by just using the commandline client, but every now and then I need a little more visual help.</li>
<li>Zend Core: used as an all-in-one package for Apache and PHP. I also use MAMP to run a good old PHP4 environment because at one of my employers we&#8217;re still in the midst of upgrading to PHP5 (I know, shut up).</li>
<li>Xdebug: I use it for profiling and I love the way it adapts var_dump() to a more usable way of displaying variables</li>
<li>FireFox and FireBug: very important indeed. I can&#8217;t image having to work without FireBug. I still remember trying to think really hard about my HTML/CSS and placing alerts in my JS as a way of doing some poor-mans-debugging. FireBug is a godsend.</li>
<li>YSlow: a man needs performance, and YSlow helps me determine what to do. Very nice!</li>
<li>CSSedit: editors for CSS don&#8217;t do a lot more than text editors, but they help a little and a little is enough.</li>
<li>OPML Editor: I keep my notes, todo&#8217;s and more in outlines. The best outline editor used to be the one from Radio UserLand, until Dave Winer took the tool and released it apart from the weblog editor.</li>
<li>VMWare Fusion: although I love working on my Mac, I&#8217;m still missing what I already <a href="http://blog.breuls.org/2008/04/19/wubi-the-new-way-of-dual-booting/">mentioned</a> before: the combination of Krusader and Kompare (and to a lesser degree, Cervisia) for development work. For that, I am trying out using an Ubuntu virtual machine which uses the three beforementioned apps and sshfs to mount the (development) servers I&#8217;m working on. Works like a charm!
</li>
</ul>
<p>Living and working:<br />
I take my Mac everywhere. I work on it at work, even though it is a private machine. At home, I use VLC to watch video&#8217;s and DVD&#8217;s, NetNewsWire for the daily read, Celtx for screenwriting, Mail.app for.. well duh, RealPlayer to listen to BBC Radio 1 or iTunes for my <a href="http://last.fm/user/breuls">music collection</a>, Twitterific for <a href="http://twitter.com/breuls">Twitter</a> and Unison to eh, browse newsgroups. </p>
<p>Well, that&#8217;s most of it. What about you?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/07/02/tools-of-the-trade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A day at the RAI: Dutch PHP Conference 2008</title>
		<link>http://blog.breuls.org/2008/06/18/a-day-at-the-rai-dutch-php-conference-2008/</link>
		<comments>http://blog.breuls.org/2008/06/18/a-day-at-the-rai-dutch-php-conference-2008/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 19:40:52 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[dpc08]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=72</guid>
		<description><![CDATA[I like conferences. They bring a combination of information, context, some discussion and all kinds of impressions to you in audible form. In a form that doesn&#8217;t require you to browse through blogs or magazine articles. Also, you can reflect on the subjects with others during the break times. Or just reflect on it by [...]]]></description>
			<content:encoded><![CDATA[<p>I like conferences. They bring a combination of information, context, some discussion and all kinds of impressions to you in audible form. In a form that doesn&#8217;t require you to browse through blogs or magazine articles. Also, you can reflect on the subjects with others during the break times. Or just reflect on it by yourself. In some way, it differs from just reading about the topics on weblogs or online manuals, it&#8217;s got a different vibe. One I like.</p>
<p>So last weekend I went to the <a href="http://www.phpconference.nl/schedule/">Dutch PHP Conference</a>. I went last year, and I liked it, so attending this year&#8217;s edition seems logical. But after a day of listening to some interesting talks I&#8217;m wondering: who is the indented audience for this conference? Am I even in it?</p>
<p>Let me explain by walking through the day. After <a href="http://twitter.com/ijansch">@ijansch</a>&#8216;s opening, we were welcomed into the history of PHP by <a href="http://suraski.net/blog/">Zeev Suraski</a>, one of the founders of Zend and with that, one of the people who made PHP what it is today. It&#8217;s nice to hear the story from someone first-hand, as opposed to reading it in the <a href="http://www.php.net/manual/en/history.php">PHP Manual</a>. </p>
<p>He gave his view on PHP today: it&#8217;s mostly done, and our focus as a community has been, and still is, shifting to frameworks. In a way that&#8217;s like saying &#8220;we&#8217;ve been building the car for a few years, now it has become time to do some driving&#8221;. And he&#8217;s right. PHP is never truly done, of course, but it is fairly done, and now it&#8217;s up to the frameworks to mature and become the highly useful, production-ready toolkits we all need (yes, need, even though some of us might not know it yet). In my view: some parts of frameworks wille eventually become more attached to the core of PHP, as often-used parts will grow into the extensions area.</p>
<p>After Zeev, <a href="http://mtabini.blogspot.com/">Marco Tabini</a>, publisher of <a href="http://www.phparch.com/">php|architect</a> (which I&#8217;m subscribed to), explained how important mayo is to the PHP world. No, wait, that wasn&#8217;t it. He wasn&#8217;t very PHP-specific, but his keynote was quite interesting nevertheless.</p>
<p>Lunch came and went, and the breakout sessions started. I attended the ones presented by Gaylord Aulke, Lorna Jane Mitchell and Ivo Jansch.</p>
<p>Gaylord talked about how you would go about creating, maintaining and using an infrastructure when you&#8217;re working in a team. He explained about development locations, version control management, test- and staging servers and deploying your work to a live server. This very much connected with <a href="http://www.lornajane.net/posts/2008/DPC-Talk-Review">Lorna&#8217;s talk</a>, which <a href="http://www.lornajane.net/posts/2008/Deployment-with-SVN-slides-Dutch-PHP-Conference">focused</a> on deployment in general, and on doing that with subversion in particular.</p>
<p>Both talks were interesting, but only small bits of it were giving me new information or a perspective I didn&#8217;t think of before. Both gave me the impression that the intended audience would not include people already working in teams, with version control already very much in place and several live projects to maintain. Those people would already have invented (and/or implemented) the proverbial wheel for their own situation. Which is the case for me: at both of my jobs, an infrastructure is in place and working nicely. Nevertheless, both talks were interesting, and some viewpoints offered, along with a nice feeling of confirmation, some food for though and/or Googling.</p>
<p>After the break, the choice was to be made between Stefan Priebsch&#8217;s session on the upcoming PHP releases, a session by Matthew Weier O&#8217;Phinney about best practices within Zend Framework (this description is not as accurate as it should be, but we&#8217;ll get to that) and Ivo Jansch&#8217;s presentation about Enterprise PHP.</p>
<p>Because information about PHP 5.3 and 6 can be found on the <a href="http://news.php.net/php.internals">mailing list</a>, <a href="http://wiki.php.net/todo/php60">wiki</a> pages, blogs and the slides Stefan <a href="http://inside.e-novative.de/archives/117-What-is-new-in-PHP-5.3-IPCDLW-2008-slides.html">posted</a> before the conference, that one was an easy choice: no need to attend. The session on Best practices within Zend Framework would only make sense if you were actively using ZF, I thought, so that would not be very practical at this very moment (I was wrong, as you can see by reading the actual <a href="http://www.phpconference.nl/schedule/bestpractices">description</a> on the site, it&#8217;s not &#8216;within&#8217; Zend Framework, but &#8216;inspired by&#8217; it, if I understand correctly). So I entered the room in which I would be very cautious about product placement (kidding).</p>
<p>Ivo&#8217;s session had &#8216;Enterprise PHP Development&#8217; as its title. Because I work in a couple of teams/environments where the label &#8216;enterprise&#8217; might, in some way, be a suitable one, I thought I&#8217;d attend this session. It&#8217;s always nice to get some tips, attention points and such. But, the session was basically about the same as Gaylord&#8217;s and Lorna&#8217;s. Not that he covered the same topics, but again I felt like I knew a lot of it already. He covered ten main points you need to be thoughtful of when working on your projects, of which some were very obvious, and others inspired some thinking while in itself not being new (to me, at least).</p>
<p>After all this, my colleagues and me were interviewed for a <a href="http://iljavandenberg.blogspot.com/2008/06/dutch-php-conference-08-interessant-en.html">Bachelor ICT video</a>, in which we expressed our concerns about the lack of depth in the sessions. <a href="http://terrychay.com/blog/">Terry Chay</a> had already started his keynote by that time, so after missing the beginning, we hurried in and stood in the back, while listening to a very interesting and nice keynote. Chay is a wise man, I said <a href="http://twitter.com/Breuls/statuses/834686044">to myself</a>.</p>
<p>Looking back at the day in its entirety, I think I expected more. I already called my feeling about the sessions a &#8216;lack of depth&#8217;. This of course isn&#8217;t necessarily a bad thing. A PHP Conference, especially one in a community that&#8217;s still growing and has a lot of people still learning how to be the best, should be aiming for a wide audience and not exclude beginners. However, if some f the sessions would last longer, maybe the contents could become more hands-on and give you more the feeling you&#8217;re walking away with lots of information to research in the days or weeks after the conference.</p>
<p>I&#8217;ll probably attend next year&#8217;s edition, but can I silently hope for some more advanced content?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/06/18/a-day-at-the-rai-dutch-php-conference-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Links for this week</title>
		<link>http://blog.breuls.org/2008/06/17/links-for-this-week/</link>
		<comments>http://blog.breuls.org/2008/06/17/links-for-this-week/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 11:45:00 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[dpc08]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=71</guid>
		<description><![CDATA[&#187; MacGDBp &#8211; a PHP debugger using XDebug &#187; Dutch PHP Conference 2008 &#8211; The Video &#8211; I was interviewed. Did I make the cut? &#187; DPC&#8217;08 review by Rick Buitenman &#187; It&#8217;s About Time You Learned Javascript (for real) &#8211; I think I&#8217;m gonna read that book &#187; The Top Ten Subversion Tips for [...]]]></description>
			<content:encoded><![CDATA[<p>&raquo; <a href="http://www.bluestatic.org/pr/">MacGDBp</a> &#8211; a PHP debugger using <a href="http://www.xdebug.org/">XDebug</a><br />
&raquo; <a href="http://iljavandenberg.blogspot.com/2008/06/dutch-php-conference-08-interessant-en.html">Dutch PHP Conference 2008  &#8211; The Video</a> &#8211; I was interviewed. Did I make the cut?<br />
&raquo; <a href="http://blog.meritos.nl/archives/37">DPC&#8217;08 review by Rick Buitenman</a><br />
&raquo; <a href="http://developer.yahoo.net/blog/archives/2008/06/javascript_the_good_parts_review.html">It&#8217;s About Time You Learned Javascript (for real)</a> &#8211; I think I&#8217;m gonna read that book<br />
&raquo; <a href="http://www.onlamp.com/pub/a/onlamp/2004/08/19/subversiontips.html">The Top Ten Subversion Tips for CVS Users</a><br />
&raquo; <a href="http://svnbook.red-bean.com/en/1.0/svn-book.html">The Subversion Book</a><br />
&raquo; <a href="http://codecontortionist.com/software/mac-osx-software/multifirefox/">Running multiple FireFoxes on your Mac</a><br />
&raquo; <a href="http://blog.digitalstruct.com/2008/06/18/php-performance-series-maximizing-your-mysql-database/">PHP Performance Series: Maximizing Your MySQL Database</a><br />
&raquo; <a href="http://www.webmonkey.com/blog/Clock_Browser_Speeds_with_Webmonkey_s_Stopwatch">Which is the fastest browser?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/06/17/links-for-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Todo&#8217;s for June 17</title>
		<link>http://blog.breuls.org/2008/06/16/todos-for-june-17/</link>
		<comments>http://blog.breuls.org/2008/06/16/todos-for-june-17/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 19:34:54 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[MacGDBp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=70</guid>
		<description><![CDATA[&#187; Download FireFox 3 and install it on my Mac (my Ubuntu machine switched to FF3 weeks ago) &#187; Download this possibly very interesting PHP Debug thingy for the Mac]]></description>
			<content:encoded><![CDATA[<p>&raquo; Download FireFox 3 and install it on my Mac (my Ubuntu machine switched to FF3 weeks ago)<br />
&raquo; Download this <a href="http://www.bluestatic.org/pr/">possibly very interesting PHP Debug thingy</a> for the Mac</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/06/16/todos-for-june-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework in Hardy</title>
		<link>http://blog.breuls.org/2008/02/29/zend-framework-in-hardy/</link>
		<comments>http://blog.breuls.org/2008/02/29/zend-framework-in-hardy/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 20:17:25 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/2008/02/29/zend-framework-in-hardy/</guid>
		<description><![CDATA[Hmm, nice step: the Zend Framework will be included in the repositories for Ubuntu Hardy Heron, scheduled for release in April. Not that the average developer wouldn&#8217;t be able to obtain a copy of ZF otherwise, but it&#8217;s nice that it will be included. Let&#8217;s hope updates to the Zend Framework will be ported rapidly [...]]]></description>
			<content:encoded><![CDATA[<p>Hmm, nice step: the Zend Framework <a href="http://andigutmans.blogspot.com/2008/02/zend-framework-to-be-part-of-ubuntu.html">will be included</a> in the repositories for Ubuntu Hardy Heron, scheduled for release in April. Not that the average developer wouldn&#8217;t be able to obtain a copy of ZF otherwise, but it&#8217;s nice that it will be included.</p>
<p>Let&#8217;s hope updates to the Zend Framework will be ported rapidly into Ubuntu, so Ubuntu/ZF users wille be able to truly depend on the packaging system. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/02/29/zend-framework-in-hardy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>__DIR__</title>
		<link>http://blog.breuls.org/2008/02/23/__dir__/</link>
		<comments>http://blog.breuls.org/2008/02/23/__dir__/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 02:04:33 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/2008/02/23/__dir__/</guid>
		<description><![CDATA[It&#8217;s those little things: in PHP 5.3, the constant __DIR__ will be available. Of course, this is the same as the output from dirname(__FILE__), but it makes life just that little bit easier.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s those little things: in PHP 5.3, the constant <code>__DIR__</code> <a href="http://usrportage.de/archives/878-New-magic-constant-in-PHP-5.3.html">will be available</a>. Of course, this is the same as the output from <code>dirname(__FILE__)</code>, but it makes life just that little bit easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/02/23/__dir__/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conference!</title>
		<link>http://blog.breuls.org/2008/02/21/conference/</link>
		<comments>http://blog.breuls.org/2008/02/21/conference/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 19:37:34 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/2008/02/21/conference/</guid>
		<description><![CDATA[The Dutch PHP Conference, which I went to last year, is getting its second edition. It&#8217;s a bit more expensive than last year, but I&#8217;m certainly going to consider attending.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.phpconference.nl/">Dutch PHP Conference</a>, which I went to last year, is <a href="http://www.jansch.nl/2008/02/21/dpc2008-announcement-and-cfi/">getting</a> its second edition. It&#8217;s a bit more expensive than last year, but I&#8217;m certainly going to consider attending.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2008/02/21/conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five things I like about Zend Studio Neon</title>
		<link>http://blog.breuls.org/2007/10/13/five-things-i-like-about-zend-studio-neon/</link>
		<comments>http://blog.breuls.org/2007/10/13/five-things-i-like-about-zend-studio-neon/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 14:17:11 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend studio]]></category>

		<guid isPermaLink="false">http://blog.breuls.org/?p=54</guid>
		<description><![CDATA[For the last two months, I have been using a new Zend product as my default PHP editor. I haven&#8217;t blogged anything about it, because until last week, it was a closed beta. At ZendCon &#8217;07, however, the beta of Zend Studio Neon (with Neon being the beta-name) was released to the public, inviting everyone [...]]]></description>
			<content:encoded><![CDATA[<p>For the last two months, I have been using a new Zend product as my default PHP editor. I haven&#8217;t blogged anything about it, because until last week, it was a closed beta.</p>
<p>At ZendCon &#8217;07, however, the beta of Zend Studio Neon (with Neon being the beta-name) was released to the public, inviting everyone who&#8217;s interested to the party. So now it&#8217;s okay to blog about it, and I would like to take this opportunity to name a few things that might cause Neon to become my default editor, permanently.</p>
<p><u>1. Custom formatting</u><br />
In the classic Zend Studio, you can select a piece of code and have Studio re-do the indenting of that section for you. Very handy when you&#8217;ve messed up your code in some way, or several CVS commits from different people have thrown the structure out of whack. In Neon, this feature works even better:</p>
<p>I can configure exactly how I want my code to look: where I want my spaces, where the braces should be placed, how the code needs to be indented and lots more. I can configure the formatter to follow my personal coding standards, select a piece of code and have Neon apply my standards to the selection. Brilliant!</p>
<p>However, Neon doesn&#8217;t remember my preferences, so I have to export them whenever I make a change and import them every time I start Neon. Also, a few bits of my prefs cannot be configured, such as the way arrays should look when you divide the declaration over multiple lines. But I expect Zend to be looking into that, as several of the closed-beta testers have already mentioned it in the testers group.</p>
<p><u>2. Easy compare and CVS-integration</u><br />
When Neon recognises a project to be a checkout of a CVS-module, several options are added to the navigator (the outline of files and folders on the left side of the screen). To name a few:<br />
- Every file that has been changed is visually marked as being different from CVS. This makes it easy to find what you have changed and might be ready to be commited into CVS.<br />
- I can update and commit from the navigator. The classic Studio had this as well, but it was useless because the following feature was missing:<br />
- Compare! I can right-click a file and compare it to the latest version from CVS, or a specific revision, or just compare it to another file I also selected. The ability to compare makes it possible to check if the file I want to commit is ready to be commited: I can see all the changes and if I left in some junk (an echo, some commented-out code, you name it), it shows up as a difference and I can edit it <i>while still in the compare screen</i>. Brilliant! I&#8217;m used to the way Kompare works, and frankly that one has a better overview of the changes, but Neon makes a good second best, especially when combined with the CVS options.<br />
- Neon acts as a complete CVS client. I can change the revision of a file, create branches, browse the history of a file, commit several files at once and more.</p>
<p><u>3. It&#8217;s more than a PHP editor</u><br />
Apart from writing PHP code, I do a lot of work with Javascript, XML, Webservices and such. I can open a Javascript file and it opens in a specific JS editor, complete with a preview screen which exectutes the file as if it were loaded in a browser. Or I can open a .xsd file and the XML Schema in it is shown in graphical form, complete with all kinds of functionality for altering the schema. It even shows errors I made in either type of file. Very, very nice.</p>
<p><u>4. Choose the PHP version per project</u><br />
In the classic Zend Studio, I have to change the PHP version from 4 to 5 and back when working with different projects. In Neon, I can configure this in the project-specific settings, instead of editor-wide. Quite a time-saver, as it prevents me from looking surprised at my editor, wondering why it thinks a bit of code has an error when it clearly doesn&#8217;t.</p>
<p><u>5. Project-wide error checking</u><br />
When I open a project, Neon checks all the files, both PHP and other types, for errors. When it finds them, the erroneous file is marked as such in the navigator, and so are all the folders above it. I can easily follow the path in the navigator to find the file with the error, fix it and when saved, the mark disappears. And of course I can commit it immediately.</p>
<p>The downside to this is a heavier editor, though. When a project resides on a remote server, and Neon startes opening and parsing them all, my computer gets very, very slow due to the heavy traffic. In fact, Neon already is very memory-consuming and needs to be shut down if I want to open something else that&#8217;s big in memory (a video player, for instance). I really hope Zend is able to do something about that.</p>
<p>There you have it, five things I like. There are also things I don&#8217;t like: the memory Neon consumes, the multitude of &#8216;perspectives&#8217;, editors, outlines and other screens I don&#8217;t really &#8216;get&#8217; yet, the fact that even a closed project shows up in the navigator and some other minor things. But those are all little bumps in the road, and as Neon is still in beta, I&#8217;m not really worrying about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.breuls.org/2007/10/13/five-things-i-like-about-zend-studio-neon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

