<?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>PHPFreak</title>
	<atom:link href="http://phpfreak.dk/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpfreak.dk</link>
	<description>The home of Ole Hejlskov</description>
	<lastBuildDate>Mon, 17 May 2010 22:07:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Review: NetBeans 6.9 Beta for PHP</title>
		<link>http://phpfreak.dk/2010/05/review-netbeans-6-9-beta-for-php/</link>
		<comments>http://phpfreak.dk/2010/05/review-netbeans-6-9-beta-for-php/#comments</comments>
		<pubDate>Mon, 17 May 2010 22:07:07 +0000</pubDate>
		<dc:creator>Ole</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[code completion]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phpfreak.dk/?p=106</guid>
		<description><![CDATA[In my last post I looked at some different IDE/editors for PHP. The feedback was overwhelming, I did not expect so much interest, which leads me to believe I&#8217;m not the only one in search for the holy grail. I already gave a brief review of NetBeans, but a new version 6.9 Beta came out [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a title="The quest for the holy… development environment?!" href="http://phpfreak.dk/2010/04/the-quest-for-the-holy-development-environment/" target="_blank">last post</a> I looked at some different IDE/editors for PHP. The feedback was overwhelming, I did not expect so much interest, which leads me to believe I&#8217;m not the only one in search for the holy grail.</p>
<p>I already gave a brief review of NetBeans, but a new version 6.9 Beta came out after I tested it, so I decided to take it for a spin. Over the last two weeks I&#8217;ve been using NetBeans as my main IDE at work, continue reading to see the verdict.</p>
<p><span id="more-106"></span></p>
<p><a href="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.21.48-PM.png"><img class="alignleft size-medium wp-image-108" style="margin-left: 10px; margin-right: 10px;" title="NetBeans 6.9" src="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.21.48-PM-300x229.png" alt="" width="300" height="229" /></a> NetBeans 6.9 looks very promising. In it&#8217;s current state I&#8217;m almost sure my quest is over already &#8211; at least I will choose it over Eclipse PDT for now.</p>
<p>Out of the box NetBeans comes with all the features you would expect from a modern IDE. It has very good and quick code completion, good file navigation, very nice HTML/CSS support, Subversion integration and much more. Basically &#8211; everything I need except for Git support, but not many IDE&#8217;s fully support Git yet anyway, so I&#8217;m fine doing it in the terminal.</p>
<p>I was surprised to see that <a href="http://xdebug.org/">XDebug</a> support was working almost out of the box &#8211; it even gave detailed instructions on how to set things up, which was quite nice.</p>
<p><a href="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.34.23-PM.png"><img class="alignright size-medium wp-image-115" style="margin-left: 5px; margin-right: 5px;" title="NetBeans 6.9 Codecompletion" src="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.34.23-PM-300x188.png" alt="" width="300" height="188" /></a>The autocomplete is spot on. It&#8217;s very fast even with large projects, which is where Eclipse PDT keeps me hanging, waiting several seconds before giving me hints. It also includes information from PHPDoc blocks, which is very nice when working with larger frameworks like Zend Framework. The only time I experience some latency is completion on class names when initiating objects. However I have experienced some errors with the code completion. It seems to crash a few times if you try to complete an object inside a method call, but I have not been able to find a stable way to reproduce it. I&#8217;m sure the NetBeans team will figure it out before 6.9 is released.</p>
<p>NetBeans still has some strange things when creating a new project. If you plan on checking out source from SVN which does <strong>not </strong>contain a NetBeans project, you will spend some time wondering what the heck happend to the files you just checked out. Eventually you get to work, but the next time you need to checkout a project you have forgotten all about it. I can live with this, besides it&#8217;s only until I get all my projects to contain the NetBeans files, then there is no problems at all.</p>
<p>The new beta also fixes a very annoying issue for me, the ability to change files outside the IDE. I use Doctrine alot, and when running scripts from the terminal to create models, this just needs to work. NetBeans 6.8 did not work for me, but in 6.9 this all works perfectly. They even added a &#8220;Scan for external changes&#8221; in the &#8220;Source&#8221; menu. The only thing I could wish for is to add a shortcut for this feature.</p>
<p>NetBeans enables you to customize your code style, where to put braces, spaces, tabs as spaces etc. I see this feature in a lot of editors, but it&#8217;s a nice feature to have. One note about this, is that I only seem to be able to specify for PHP. I&#8217;d like to either have those rules applied to Javascript as well, right now it just seems to ignore my settings.</p>
<p><a href="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.54.32-PM.png"><img class="alignleft size-medium wp-image-118" style="margin-left: 5px; margin-right: 5px;" title="NetBeans Refactor Inline CSS" src="http://phpfreak.dk/wp-content/uploads/2010/05/Screen-shot-2010-05-17-at-11.54.32-PM-300x127.png" alt="" width="300" height="127" /></a>Editing HTML, CSS and Javascript is really nice. They added some powerful tools, among them is the ability to refactor inline CSS to external CSS files. I have a very bad habit of writing a lot of inline styles, now I can easily refactor this to external files. Simply mark the HTML -&gt; Right click -&gt; Refactor -&gt; Extract Inlined Style. Choose your file and preview the changes, you can see the changes to both the HTML and CSS files. This feature really, really rocks!</p>
<p>One thing to remember is that NetBeans 6.9 is still in beta. This means there will be some bugs and random crashes. I have experienced a few crashed, but nothing major and most important &#8211; no work was lost.</p>
<p>Overall I would say NetBeans 6.9 looks very, very good. It has some bugs and downsides, but as I concluded in my last post, it really comes down to personal preference and which downsides you can live with. For me, NetBeans seems like a huge improvement over Eclipse PDT. I will continue to use NetBeans at work, at home I will look into some other interesting IDE&#8217;s including Komodo and JetBrains PHPStorm.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpfreak.dk/2010/05/review-netbeans-6-9-beta-for-php/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>The quest for the holy&#8230; development environment?!</title>
		<link>http://phpfreak.dk/2010/04/the-quest-for-the-holy-development-environment/</link>
		<comments>http://phpfreak.dk/2010/04/the-quest-for-the-holy-development-environment/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 20:27:48 +0000</pubDate>
		<dc:creator>Ole</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[code completion]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://phpfreak.dk/?p=50</guid>
		<description><![CDATA[Over the last 8 years I&#8217;ve tried out a lot of different setups. I&#8217;ve always loved Emacs, and for many years my setup was very basic: Linux/FreeBSD desktop,Fluxbox, Xterm, Emacs and Firefox - simple and powerful, and I loved it but I want more. I want my environment to be a bit smarter and not just provide me with some (very, [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last 8 years I&#8217;ve tried out a lot of different setups. I&#8217;ve always loved <a href="http://www.gnu.org/software/emacs/" target="_blank">Emacs</a>, and for many years my setup was very basic: Linux/FreeBSD desktop,<a href="http://fluxbox.org/" target="_blank">Fluxbox</a>, <a href="http://en.wikipedia.org/wiki/Xterm" target="_blank">Xterm</a>, Emacs and <a href="http://www.mozilla.com/en-US/firefox/firefox.html" target="_blank">Firefox</a> - simple and powerful, and I loved it but I want more. I want my environment to be a bit smarter and not just provide me with some (very, very nice) shortcuts for navigating my code. About 5 years ago I started thinking there might be better tools/IDEs than Emacs. So I started my quest..</p>
<p><em>I realize this topic may start an epic flamewar, and I tend to give a bit too negative comments on some things, but that&#8217;s just me. Please keep in min that I&#8217;m open for everything. Vi/Vim/Emacs? No problem. Eclipse? Maybe. NetBeans, maybe&#8230; but do they live up to my requirements?</em></p>
<p><span id="more-50"></span></p>
<p>For the perfect development environment I have a few requirements:</p>
<ul>
<li>Must run on Mac</li>
<li>Code completion for PHP</li>
<li>Syntax highlighting</li>
</ul>
<p>For years I&#8217;ve been using <a href="http://eclipse.org/pdt/" target="_self">Eclipse PDT</a>, but it&#8217;s starting to get slow. Autocomplete takes 3-4 seconds, and overall I experience issues renaming files and other small bugs.</p>
<p>I started looking around, there are some nice products on the marked. I loved my old setup with Emacs, so I really hoped to find a code completion plugin for it, or maybe Vi/Vim. NetBeans is a player on the marked and certainly worth checking out. So I spend many  nights playing with different editors and IDE&#8217;s. Here is a summary of the results:</p>
<p><strong>Emacs</strong></p>
<p>Overall HTML+PHP modes provides an excellent tool for my needs. Code completion isn&#8217;t good.<br />
I was able to find tools like <a href="http://www.emacswiki.org/emacs/AutoComplete" target="_blank">Autocomplete.el</a> + etags which initially looked good, I was able to get code completion for <em>everything, </em>but not in a good way. Emacs + Autocomplete.el + etags was able to provide me a list of <strong>all </strong>methods in my entire project, the only problem is that it&#8217;s not context aware.</p>
<p>Emacs was not able to figure out where I was in the code or which variables/classes I was working on. On another note, etags is not the perfect solution, because you have to run and generate a new tags file every time you change your code &#8211; however I can live with this, but I can&#8217;t live with it not being to detect the context I&#8217;m trying to complete.</p>
<p><strong>VIM</strong></p>
<p>VIM 7 has some very nice features. They even provide code completion out of the box. VIM takes some time getting used to, but comming from Emacs, I&#8217;m used to weird shortcuts and key combinations. Overall VIM was better than Emacs, it could provide with me some in-buffer completion, but still nowhere near perfect. It could do basic completion on the variables and methods on objects, but it is still not context aware. Also I had to look into ctags/etags to make a nice tags file for VIM to understand the whole project (including Zend Framework).</p>
<p>With a tags file I was able to lookup methods and see a small preview of the parameters to the method, which was a very nice addition, but not being context aware, I had to skip and move on.</p>
<p><strong>NetBeans</strong></p>
<p>NetBeans is becoming a bigger player in the PHP community. I&#8217;ve been keeping an eye on it for quite some time, but in the beginning it didn&#8217;t feel right.</p>
<p>First of all, NetBeans is a great IDE. The autocomplete is <strong>spot on</strong>, very responsive and gives a nice preview of the parameters + info from PHPDoc blocks.</p>
<p>The downside? Well.. The biggest issue is the way new projects are handled. I can&#8217;t create a new project, and check out code from Subversion directly into that project, it simply fails every time. Every time I have to start a new project in NetBeans I spend 15-20 minutes getting my files in the right place, not good enough!</p>
<p>Another anoying thing with NetBeans is that it can&#8217;t handle if files are edited outside the IDE. If I create a new controller with zftool, NetBeans will screw up. When trying to commit to Subversion it can detect a new/changed file. But the IDE refuses to update the list of files.</p>
<p>Not being able to change files outside the IDE is not an option for me. This is the main reason I&#8217;ve been avoiding NetBeans, otherwise it seems to live up to my requirements. However, the IDE could use a bit of a clean up, sometimes it feels like the toolbars take up too much space.</p>
<p><strong>Eclipse PDT</strong></p>
<p>Eclipse has been my editor of choise for many years. The autocomplete never fails, huge amount of plugins, nice UI and everything.</p>
<p>For me it has two huge downsides:</p>
<p><strong>It&#8217;s slow</strong>.<strong> </strong>When working with Zend Framework, there is a huge amount of objects to index, so doing code completion on an object takes several seconds, which is very anoying.</p>
<p>The second thing is that it seems to be getting worse handling renaming of files. Some time ago, they added some nice refactoring support, but as a side note it fucks everything up. Try renaming a directory with multiple subdirectories and files, without having to manually move some files. On top of that, Subversive/Subclipse (I&#8217;ve tried both) fails horribly when you rename things. I usually have to copy the directory (which enables me to enter a new name), delete the old one and add the new one to Subversion. Great..?</p>
<p><strong>Aaaaaand the winner is!</strong></p>
<p>None of the above. The real question is which downsides you can live with. I decided that I can&#8217;t live without a good autocomplete, which makes it hard for me to find a good IDE. The perfect solution (for me!) would be the autocomplete from NetBeans, the power of Emacs/VIM and the interface from Eclipse..</p>
<p>For now I still use Eclipse. I&#8217;ll be checking out NetBeans 6.9 soon, the beta looks promising, so I&#8217;ll cross my fingers.</p>
<p>If anyone has been able to do a proper autocomplete setup with VIM/Emacs please tell me about it!</p>
<p><strong>UPDATE:</strong></p>
<p><strong></strong>Thanks for all the great comments, I believe I have some digging to do! Over the next few weeks I&#8217;ll look into all the suggestions below, which includes:</p>
<ul>
<li>NetBeans 6.9 Beta</li>
<li>JetBrains&#8217;s IDEA</li>
<li>JetBrains&#8217;s PhpStorm</li>
<li>Komodo</li>
<li>Zend Studio for Eclipse</li>
</ul>
<p>Last night I had a quick look at PhpStorm and I must say it looks very, very promising. I&#8217;ve also installed the latest NetBeans at the office, looking forward to seeing it in action. I&#8217;ll keep you guys updated on the progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpfreak.dk/2010/04/the-quest-for-the-holy-development-environment/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Starting up a blog..</title>
		<link>http://phpfreak.dk/2010/04/starting-up-a-blog/</link>
		<comments>http://phpfreak.dk/2010/04/starting-up-a-blog/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 16:24:44 +0000</pubDate>
		<dc:creator>Ole</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://phpfreak.dk/?p=37</guid>
		<description><![CDATA[Uhm.. Hi I guess? Over the last few years I&#8217;ve been thinking about starting a blog. I&#8217;ve tried several times. The first three times failed, because I insisted on reinventing the wheel and write my own blog from scratch. Last time I actually installed Wordpress, found a theme, but got stuck on finding a decent [...]]]></description>
			<content:encoded><![CDATA[<p>Uhm.. Hi I guess? <img src='http://phpfreak.dk/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Over the last few years I&#8217;ve been thinking about starting a blog. I&#8217;ve tried several times. The first three times failed, because I insisted on reinventing the wheel and write my own blog from scratch. Last time I actually installed Wordpress, found a theme, but got stuck on finding a decent  syntaxhighligh plugin, so I basically got stuck there.</p>
<p>A couple of weeks ago my friend <a href="http://brian.scoretrold.dk" target="_blank">Brian Madsen</a> started his own blog, and well.. I got jealous. I wanted a blog too!</p>
<p>Over the next months I&#8217;ll be posting some (hopefully) interesting posts about everything from Doctrine, Zend Framework, Git, NoSQL and much more. I&#8217;ll also use this place to vent some of my fustrations with the world.. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://phpfreak.dk/2010/04/starting-up-a-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

