tags:

views:

343

answers:

16

I've programmed for 6 years, and in that time, I've never used a PHP IDE. I feel perfectly fine using VIM, linux shell, mysql command line and subversion command line for my web application development. When I'm asked to work on other people's projects, or open source projects, I can generally find my way around after a quick system architecture overview.

Recently, I was curious about PHP IDEs. I downloaded NetBeans, but lost patience debugging installation problems.

It makes me wonder, will my productivity increase substantially with the use of a good PHP IDE? What percentage of LAMP/PHP developers use a PHP IDE?

+7  A: 

I have used netbeans in the past for php projects and liked it a lot. The fact I liked it is just my opinion, but I don't remember having any install issues. Netbeans synced up great with my teams svn server and things worked smoothly.

What kind of issues prevented from you getting it installed?

Troggy
heh, you got me. I got lazy and gave up once i realized i didn't have a few dependencies or jre installed. I'll try harder!
John
Netbeans is built on dependancies. But don't worry, they're free. ;)
Arlen Beiler
+4  A: 

I use NetBeans too. So far the best from what I've tried. Zend Studio is terrible and Eclipse is beyond any criticism (you cannot just double click php file to open it in Eclipse, for starters). There are several more free and commercial IDEs but most of them for Windows only.

Edit: tools I use most often are: method suggestion, refactoring, "go to declaration/defintion", "find usage", debuging (obviously, since it underlines erroneous statements).

Sejanus
"you cannot just double click php file to open it in Eclipse, for starters"To clarify - you must mean from outside the editor (ie. Explorer/Finder/etc.). I dont see this as a big issue-In fact i cant see a use case for this myself. I cant imagine having a file type associated with Eclipse or any IDE that just sounds frustrating. On the other hand something i do find important - ie. being able to arbitrarily add/remove/edit file extensions isnt possible from within NetBeans That might make sense for compiled languages but not for scripting languages.
prodigitalson
I meant exactly that and it is a big issue for me :)
Sejanus
+1  A: 

I use Eclipse with a PHP plugin and have been pretty happy with it.

CSharpAtl
+8  A: 

I always use an IDE now, if it supports refactoring. I may use it in addition to, or alongside, Vim or Emacs, but refactoring is now an integral part of my development style and having automated refactoring tools is essential.

If you're only going to use the editor features of whatever IDE you choose, you probably won't benefit much. The benefit is when:

  • the IDE can do for us something that would take us much longer, OR
  • the IDE provides information that we would otherwise need to work to find
Kaleb Pederson
+1  A: 

I've used Aptana Studio (Eclipse) for a few years and it had a decent PHP editor with code hinting built-in. However, the new version of Aptana Studio now uses PHP Development Tools (PDT) instead of Aptana's own editor. I never had good luck with PDT, but hopefully development will improve now that Aptana is involved in the project.

wmid
Negatives: it's a bit slow.Positives: It's **packed** with productivity features.Conclusion: with some RAM, Aptana is awesome.
namespaceform
@namespaceform: Truth - Eclipse is definitely a beast in terms of system resources.
prodigitalson
+2  A: 

I use Netbeans (on windows and linux), I have in the past used eclipse (on windows and linux) and phpdesigner (on windows) which is a commercial tool.

all three have approximately the same feature set, all three can be used to debug php.

atm I prefer Netbeans.

Previously I used plain editors such as notepad++ and textpad, my efficiency coding increased using an ide with code-completion and runtime debugging.

Jim Ford
+1  A: 

Ive used Eclipse+PDT and Netbeans. I much prefer Eclipse.

I think any productivity gains are going to vary depending on both the developer and the nature of the project. I use TextMate or vim for small projects, while i reserve IDEs for larger/more complex projects or ones with underlying APIs i am not familiar with. Having a built in API completion is a big help when a project or its underlying framework have so many methods you cant possibly learn and remember all their sigantures and return types (at least for the duration of the iteration one is working on). Also debugger integration on complex projects can be a huge timesaver (especially if youre not using a testing suite).

Another thing to keep in mind is that to see a big gain in efficiency you have to learn how to use the toolset of the IDE efficiently which will have a leaning curve. In my experience that cure hasnt been major in either IDE ive used, but it is there.

prodigitalson
+1  A: 

I am not a PHP person, but from my (probably similar) Perl perspective, I find that the following functions of IDE are useful/not (as far as what I perceive to be IDE functions at least)

  • Code styling (syntax hihgliting), block folding - Highly useful. But thsi is a feature of a high-end editor rather than IDE proper, to be honest (e.g. UltraEdit vs. UltraEdit Studio). Ditto for other features that i'd consider programming editor rather than IDE - e.g. FTP/source code repository integration, block selection, regex support, etc...

  • Code analysis - function lists, etc... Useful but not life-shattering. A good intelligent hints would be nice but again not life shattering.

  • Integration with tools: For Perl, since there's no building, projects, compilation etc... as separate complicated steps, I found the need for IDE (and thus the win from using one) to be negligible. Other people might disagree.

  • Integrated debugging - I never heard of a good IDE with integrated Perl debugging (my ideal for such functionality would always lie with Borland's Turbo series of IDEs :) ). But I would probably find it very useful/helpful given the crappy Perl debugging GUI people use, if I ever found one.

DVK
+1  A: 

IDE's speed up development so much, just autocomplete is so useful.

I use Codelobster which is really great and free, but especially good if you can afford to shell out money (and acutally have use for) for their various extensions for popular open source apps like Wordpress, Joomla, etc.

Wil
+6  A: 

I use Eclipse. It's bloated, unwieldy, slow and quirky, but I find that it has some features that make me a better/faster developer. The two main things I like about developing PHP with Eclipse are:

  • Function documentation tooltips. Given that PHP lacks a standard parameter order for a lot of things, this is especially useful with the str family of functions. I don't have to remember whether a particular function order is ($haystack,$needle) or ($needle,$haystack), I can just type the name of the function and hover over it.
  • "Jump into" functionality. Highlight a function and hit 'F3', and it will take you to the class or file where that function is defined. This is extremely helpful.

There's other features that are useful as well, although not as profound. Things like autocomplete and PHPDoc comment templates (type /** and it creates a basic block comment pre-filled with your parameters) tend to be handy.

Due to deficiencies with Eclipse, I tend to develop with multiple tools. For example, I find UltraEdit's "Find in multiple files" functionality to be excellent (as well as "edit in Column mode" for batch SQL edits), and I usually have it running alongside Eclipse.

I've tried NetBeans several times, but each time I've installed it in the past, the internal PHP function documentation has been broken, so hovering over any built-in PHP function results in an intellisense box saying "PHPDoc Not Found". I found that extremely aggravating, and each time have gone back to Eclipse. I like the looks of it, but I need that functionality (a vague reference to it on some forum has one of the developers saying that the build script is broken so it's not linking the docs properly, but they had yet to fix it as of my last attempt).

zombat
A: 

I don't use an IDE but I also work on fairly small projects in PHP. I use textmate which is a bit like a *nix editor on mac with nice shell integration. For scripting languages in general I don't use IDEs. Personally, the only time I really appreciate an IDE is when you must compile/link. I've never been a fan of make etc.

Nick
+1  A: 

I've used almost every editor I can think of for Windows and Linux, and I'd have to say that if I use an IDE these days - I love Eclipse PDT (PHP Developer Tools).

Eclipse is such a good development platform, and everyone seems to like making plugins for it (as it's completely cross OS, too). Google has made their GWT and Android plugins for Eclipse over other IDEs. Flex, Zend Studio, and Aptana are just glorified versions of Eclipse as well.

Additionally, there are cool tools like Subclipse and Outline view (shows all functions in PHP / JS, classes and rules in CSS), File Search [/ and Replace] with regular expression support, and easy comparison to local or remote files. These tend to speed up my overall development time, as I think they would for you too.

NOTE: There's a bit of learning curve with Eclipse, and it's harder to simply edit a file a time (it's best if you make projects), so it's really a matter of preference. If you're a professional PHP developer and you spend a majority of time on larger projects, I'd really recommend at least trying it out.

Here's a link to check it out: http://eclipse.org/pdt (I'd recomment the all-in-one for beginners).

Dan Beam
+1  A: 

I use vim. I find it the easiest and cleanest

Matt S.
And least productive. You don't get autocompletion, which you definitely need for a language as messed up as PHP. You can't jump directly to a function. The list goes on.
ryeguy
I find it to be fairly productive. Autocompletion isn't a huge deal for me, same thing for jumping directly to a function.
Matt S.
A: 

Eclipse PDT seems to work for me. I'm not a web developer, but took on revamping a website for a non-profit who had their web developer leave due to job relocation. Without any documentation or system overview, I was able to find my way around and make changes simply using Eclipse's variable information pop-up box tool (I'm not sure what it is formally called, but I hope you get the picture). From a productivity point of view, the auto-indent and variable/keyword auto-completion features is a great speed booster.

quyvle
A: 

If you're using a Mac I recommend Coda. It has a great feature set - integrated ftp, svn, css editor, terminal etc. and a slick interface. It's $99 but well worth it.

markb
A: 

I really like Komodo Edit by ActiveState. I use the lite version of the software and it keeps project files together, has code complete, code hightlighting, the works.

Komodo Edit

-Kris

Kris.Mitchell