Eight PHP IDEs Compared 206
snydeq writes "InfoWorld's Rick Grehen provides an in-depth comparative review of eight PHP IDEs: ActiveState's Komodo IDE, CodeLobster PHP Edition, Eclipse PHP Development Tools (PDT), MPSoftware's phpDesigner, NetBeans IDE for PHP, NuSphere's PhpED, WaterProof's PHPEdit, and Zend Studio. 'All of these PHP toolkits offer strong support for the other languages and environments (HTML, CSS, JavaScript, SQL database) that a PHP developer encounters. The key differences we discovered were in the tools they provide (HTML inspector, SQL management system) for various tasks, the quality of their documentation, and general ease-of-use,' Grehen writes.'"
Do any of them assess performance? (Score:5, Interesting)
This is not a troll, I swear! Are there any good performance assessment tools used during development? If so, do they work well with any of these IDEs? I don't do a lot of PHP work but it would be nice to have a tool that could audit code, advise on which lines were the most resource-intensive, and recommend lighter weight procedures.
Re: (Score:2, Offtopic)
Re: (Score:2)
Re: (Score:2)
I'm concerned that with Oracle purchasing Sun and having their own IDE that Oracle will
Re: (Score:2)
I was also surprised that so many of these tools are Windows-only since PHP is usually the P in LAMP.
Well LAMP refers to servers. Not that there wouldn't be any Linux IDE's or developers, but Windows still dominates on desktop. I also do development and coding on Windows, but work on remote files hosted on Linux server, and don't even try to make the code to support Windows as Linux dominates so much on servers.
Re: (Score:2)
Eclipse does have more plugins but it's just not as nice. Netbeans pretty much does everything I want. There are extra plug-ins in the plugins menu and project Kenai had some decent plugins. Shame its getting the axe but hopefully it won't be too hard to find the plugins again as they move to other sites.
Re: (Score:2)
Re: (Score:2)
It's GUI is also poorly done because it sucks on smaller screens. Some of us do code on the bus/train and a netbook just makes sense and while Eclipse mostly works well on an EEE screen, there are a few config menus that aren't done. All their menus need to be wrapped in scroll panes.
Imo, Netbeans has improve sign
Re: (Score:2)
and
"Netbeans just has a lot of the features out of the box where as eclipse you have to download everything" are contradictory statements.
Replace Eclipse with Firefox, and Netbeans with Opera. You'll see the statement isn't contradictory at all. It may be true or false, but that depends on the quality of the program and how well the built-in functionality matches the normal use.
Re: (Score:3, Informative)
Have you tried using PHP's Xdebug extension with CacheGrind (I prefer KCacheGrind for KDE), it works wonders.
I haven't found any IDE's that integrate such functionality, but I don't really see a need for it as KCacheGrind works so well as it is.
Re: (Score:2)
For web apps (PHP), the most resource-intensive lines are those that hit the database. How fast they are depends on what's in the database.
What you ask is not possible for an IDE to do.
Re: (Score:2)
Actually that might include the database queries and such too, as he specifically said what lines are most resource-intensive and such. Xdebug is the answer here and I think most IDE's support it, either directly or via hack-it-in. Now it doesn't provide lighter weight hints (that's your job as a programmer), but it shows you a lot of information about the bottlenecks.
Re: (Score:2)
Re: (Score:2)
True, but if you are optimizing, you've already gone past that and most of the time everything is coming out of memcache or some such thing. Now you want to profile the rest of your app.
Re: (Score:2)
But... but... optimizing performance in PHP, is like optimizing performance on a tricycle with four-wheel drive and square wheels. ^^ ;)
The best optimization for PHP: Move to a real language!
(Ex 5-year professional PHP developer here, who actually managed to write properly designed software in it, and therefore knows extremely well what PHP is and can’t do.)
Re: (Score:2)
What's a "real language" compared to PHP?
JSP, ASP, Python, Perl?
And by 'real language' do you something that's pre-compiled? Something with variable declarations (not loosly typed), etc?
I'm curious to learn. I'm a PHP web developer.
Re: (Score:2)
I'm not trying to demote PHP (I used it a lot of time some years ago and I think is a very good tool for some specific situations.) At least to me, the (oversimplified) "real language" phrase of GP is related to the bad design or simply no design emphasis from the basic documents, tutorials and the PHP community as a whole. Of course it is not very visible until you check the "hot topics" discussed in other languages' communities. I think for example in the OO/design patterns things, connection pooling stra
Re: (Score:2)
You probably didn't work with large enough projects then. You do know optimization is a bit more than making a script that tests whether print() or echo() works faster?
First of all you need to know what are the bottlenecks on the script, and this includes SQL queries and working with data or files, or remote connections. You work to optimize those queries first. If you still need to go further, you start putting some data in memcache so you don't need to always run the same queries. Knowing what queries are
Re: (Score:3, Informative)
However WinCacheGrind is an old piece of software that hasn't got new features for a long time. It does the job, but it's not great. It's a clone of a more advanced KDE application which does the s
VHS, x86, Microsoft Windows (Score:3, Interesting)
How is it that when given a set of options, the majority of users will select the worst possible one?
They didn't review Notepad, but I would wager that it is pretty well used by a majority of PHP "developers"
Re: (Score:2)
Because consumers aren't always given an equal choice.
Look at the HD wars, Bluray won, not because it was the better format for the consumer per-se, but because it gained a large lead by being included in the PS3, and ultimately because the studios all decided to back it as it had stronger DRM.
HD-DVD kit was cheaper, region free, and had less troublesome DRM as well as dual DVD/HD-DVD discs actually on the market, I suspect all things being equal these factors alone would've made it the consumer choice othe
Re: (Score:3, Funny)
Bluray didn't win.
I won, because I stopped buying DVDs, and now pirate 100% of my films.
Re: (Score:2)
> Cool, so you feel entitled to have something for free, not respecting licenses or copyright.
Oh, put a cork in it.
The studios have ripped us off for years by collusion (price fixing) and by getting a cut of every blank CD/DVD sold, so don't act like they aren't trying to get something for free also.
Re: (Score:2)
you dont need to quote developers. (Score:5, Informative)
as if php is not something worth developing on or those who develop on it cannot be called real developers.
i am working in the industry since 2003 as a php developer and i use notepad++. it works very well too.
Re: (Score:2)
as if php is not something worth developing on or those who develop on it cannot be called real developers.
i am working in the industry since 2003 as a php developer and i use notepad++. it works very well too.
I have to agree with this. Notepad++ is feature rich, especially for PHP users, especially with the many many plugins. Just having syntax highlighting and completion is enough. Most of these IDE's are overkill.
Re: (Score:2)
If you need something very similar (though, sadly, with fewer plugins) in Linux and don't want to use Wine, I recommend Geany.
Re: (Score:2)
I do often use Notepad++ myself and yes it has plugins. Plugins that aren't always updated that often and break between versions and it requires using Wine if you want to use it in Linux. If you're going to build onto Notepad++ you might as well go for a full IDE or at least go for something like V
Re: (Score:3, Interesting)
Re: (Score:2)
you can insert most of the functions you speak of through plugins. thats the good part. you can put in what you need, and not what someone packaged. prevents bloating.
I only hope... (Score:2)
You also use some kind of decent version control.
Re: (Score:2)
Weird, I've used NP++ for years and have NEVER had it crash. Maybe it's cause I don't open any PHP files with it??
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
Hehe, I didn't notice that line for some reason when I made my reply, but to be fair he didn't use the term professionally so he's probably right- most PHP developers are far from professional after all ;)
Developing large scale web applications where you need more than just a bunch of php files and need a decent folder structure ala most MVC frameworks becomes a pain without a proper IDE as you note.
Re: (Score:2, Informative)
Yea, I thought it was weird that a review of PHP IDEs omitted Dreamweaver; I have tried at least 4 of the IDEs they list, and used Coda on Mac until I got Dreamweaver. My preference is still Homesite (the old Allaire product that morphed into DW after macromedia bought it). But, homesite only runs on windows, so on a mac IMO Dreamweaver CS4 works better than all of them and allows me to do a lot of pretty fast validation and integrity checking. /mike
Re: (Score:2)
Left out my favorite (Score:2)
Re:Left out my favorite (Score:5, Insightful)
Yeah, they also gave Zend 9/10 for tools and 10/10 for Value when it's basically just Eclipse PDT with a toolbar button for the command line tool that comes free with the Zend framework and costs $399 per year for the privilege.
Well, I suppose it can do more if you pay an extra $1195 per year for Zend server. Did I mention that Zend server is basically little more than just a pre-configured Apache setup?
Perhaps I've been spoilt by Visual Studio which actually costs much less and gives you far more, or the fact that 99.99% of Zend Studio's functionality is just inherited from Eclipse which is free, but the idea of giving Zend Studio 10/10 for value is er, baffling to say the least- at least their 9/10 for tools can be somewhat justified by the fact most of them are just inherited from the free tools Eclipse provides.
I suppose at least they still gave positive reviews of the other IDEs, but the idea that Zend Studio is somehow better than them, well, I'm not really sure there's a word for how simply not true that is.
So er yeah, still, most the article is probably one of the finest loads of bollocks I've ever seen which is quite impressive, sseing as I've often made the mistake of reading The Register which is basically like a bollocks farm.
Re: (Score:2)
I'm still trying to figure out the 'value' column and what it could possibly mean. It's not the average, since that's to the right already. It's not the mmph per dollar, since that would infinity for some of them... It's not even a personal opinion, considering that Eclipse/PDT and Zend got exactly the same value, even though 1 is free and the other is not.
I've been forced to come to the conclusion that it means 'we were paid to make this come out better.'
Re: (Score:3, Interesting)
Want debugging? Eclipse and Xdebug, you can even get Zend's own debugging system by downloading their shared object file which is free. Same goes for profiling, auto-completion, etc, you can get it yourself with a bit of work if you don't wa
yep (Score:4, Interesting)
Two of the top choices are free and open. I don't know how people who build proprietary tools are going to stay in business. It's not like the commercial stuff crushed the open stuff in this comparison. I've moved to Netbeans for pretty much everything. It's a solid, multiplatform solution and the open nature is very nice. Komodo is built on an open editor, but moving up to the full featured IDE is pretty pricey. At $399 a pop I've never tried Zend Studio and based on this - I don't think I'm missing much.
Re:yep (Score:4, Informative)
Personally I wasn't really happy with Eclipse or other open source solutions. The GUI plain and simply sucks, isn't that good to customize and provides too less information and actions. People say its a powerful tool once you learn to use it, but why should I spend time on that when there are better alternatives (and which provide more features)?
Personally I've tried pretty much all of the IDE's mentioned in this article and finally went and bought WaterProof's PHPEdit. In my opinion, it's the most comprehensive PHP IDE there is. :) And haven't even got around to learning all things yet.
- Debugging options are *great* (like comparing vi to Visual Studio)
- GUI shows lots of information, but doesn't bloat it - panels roll in and out when they're needed (if wanted)
- GUI is totally customizable, there's scripting language to do it too. One of the first options I did was change ctrl+s to save local version, save cvs version and publish testing machine version, but not publish on live site, all on press of ctrl+s. On toolbar I added a separate button to publish the new version on live site.
- Another point about the great debugging options that the article mentions too, you can simultaneously debug PHP and Javascript. This is something you really miss in other IDE's once you've tried it.
- PHP files usually have mixed PHP, HTML, JavaScript and SQL. Once you move your cursor over a single block, it highlights and colors with the correct language and makes the other languages a little bit more transparent - you can easily see for example all blocks of JavaScript or SQL code.
- Preview lets you view what your site looks on all IE, Firefox, Safari and Opera
- Too many other features to list which I think should be in all IDE's, but are not
Now that being said, it is probably too heavy for a PHP coder that isn't coding professionally. Many amateur C++ programmers go just with Dev-C++ too, but professionals and those coding for living almost always appreciate the powerful suite that Visual Studio is. Proprietary tools stay in business because of this - they're much more polished and complete than their open source alternatives. And if you're working on it professionally, paying for the good tools doesn't really matter that much if it saves you time and from headache.
Re: (Score:2)
If I'm going to use an IDE for web development, I only have one question: Can it work over ssh? My test server is sitting in a rack somewhere else, never mind the production server.
Re: (Score:2)
Agreed. I'm not much for IDEs, but for text editors my two favorite choices are
Windows:
- UltraEdit (very nice SSH/SFTP integration)
Linux:
- Kate (KDE Advanced Text Editor) using KDE's fish://user@server/path/to protocol
Also, both support column-mode editing, which is my other non-negotiable.
Re: (Score:2)
That's not your only solution. If your web server's OS supports the IDE, you're all set. If the server runs Windows, you can access it via Remote Desktop. If it runs Linux, then you just have to point the DISPLAY variable at your local machine.
Re: (Score:2)
At least the price isn't too crazy. But you are right, I'd need to be doing full time professional work to move away from Netbeans.
And even then I still might not do it, as Netbeans supports so many languages and platforms. If I were working all the time in one language I could see an IDE focused on that language. But the reality is that day to day I'm dealing with a multitude of languages and platforms.
Re: (Score:3, Interesting)
> it's the most comprehensive PHP IDE there is.
Perhaps. If you run windows. The lack of cross platform options is a massive fail IMO.
Re: (Score:2)
Re: (Score:2)
After going around the block a few times I've had to come to the conclusion that GUIs can suck and so long as the application is robust enough to suit my needs. This is fine. Work flow is the real deal breaker. To cite a popular example, you have Blender and Gimp. Both have UIs that are far from friendly to the user, but once you get around the mountain of key commands and oddly placed boxes, Blender is a perfectly fine program, while Gimp still feels like a box of tangled yarn. Eclipse is a similar situati
Re: (Score:2)
what i'd like in an IDE (Score:2)
What I would like for an IDE is something similar to VB, where you can actually run the PHP, set break points, watch variable values, etc.
Since that doesn't exist as far as I know, I guess I will keep running a local instance of apache, php, mysql, etc. and throwing in lots of extra print("\n\n") statements
Re: (Score:3, Informative)
Re: (Score:2)
Netbeans does that too.
Eclipse PDT? (Score:5, Informative)
Eclipse PHP Development Tools 2.1.2 received an overall score of 8.8. I'm not sure why. I have tried this on several occasions and I find the interface confusing, the software itself bloated and slow, and the internal plugin manager is always broken and can't download dependencies correctly - if at all.
Sure, there are posts all over the place that are supposed to help fix these issues: Download X from Y, and A from B, and then modify this configuration, and, and, and... ...and I shouldn't have to. It should 'just work'. I spent half a day trying to get the SFTP plugin installed and working and I gave up. I don't have time for that.
My personal favorite, as far as 'large' IDEs go, is Zend Studio - the last version before they moved over onto the Eclipse Framework.
Re: (Score:2)
Re:Zend Studio (Score:2)
I gotta agree ZS was great. I have tried the Eclipse Framework version and hate it. I still have my ZS installed but had to switch to Netbeans, as a result of upgrading to Leopard on my iMac (After the upgrade, I no longer see highlighted text and thats a pain when coding. The moment I select it, its white on white). Until i figure a way to fix that, I am using Netbeans, which is okay but not as nice overall. ZendStudio really was worth the money I paid for it, too bad they don't update it.
Re: (Score:2)
I agree with you, Eclipse is too much work. I want to work with my PHP code, not the IDE. Personally I use Waterproof's PHPEdit and love it.
Re: (Score:3, Interesting)
same here im still on Zend 5.5
new Zend based on Eclipse and Eclipse PDT and Netbeans are just to "slow" and i have a nice workstation
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I'll give this a try, thanks for the tip. I like to give everything a fair go, but Eclipse PDT has just been a giant mess every time I have decided to try it "one more time." (o:
Coda (Score:3, Interesting)
I use panic software's CODA for my php development (OSX). Its not really as full featured as these (no debugger), but for the fairly basic php web sites I code, it works great. I like that you can click a tab and snap into the page your creating in a functional browser. I use YourSQL for MYSQL database management, which still works but is no longer being developed.
Re: (Score:3, Interesting)
You might want to look at MySQL Workbench [mysql.com]. I've been messing with it a bit for a couple weeks and really like it so far. I'm running it on Fedora but there is an OSX release.
Performances anyone? (Score:2)
I usually use eclipse PDT on windows, but it doesn't scale well with really big projects (anything base on ez publish [ez.no], a CMS often used in the company I work for): the code completion system becomes a nightmare, as everytime I begin typing a function name it freezes several seconds as if parsing every file on the hard drive to find if it already exists somewhere.
I tried netbeans, and the problem is the same. I end up with and IDE where the only features I use are syntax coloring, functions folding, and file
I'm pretty over IDEs (Score:4, Insightful)
Aside from using XCode, I pretty much never use IDEs, especially for web development. I just use TextMate [macromates.com] for anything not in XCode (and I even edit a lot of C/C++/Obj-C in XCode nowadays, and other apps for performance, testing, etc. (or write TextMate commands to run external commands).
Re: (Score:2)
I very rarely use XCode, and only use it when developing Mac/iPhone stuff. Largely because of Interface Builder, all that sort of stuff -- using XCode makes sense then. But I write big projects in OO PHP, Ruby, etc., and use TextMate projects for all of it.
I should have said that while I do use XCode, I don't spend most of my time in it even when I do, and don't think I take too much advantage of its IDE-ness. Maybe I just suck at using IDEs?
Re: (Score:2, Funny)
Aside from using one specific IDE, he pretty much never uses IDEs. Here are some more for you to practice on:
Aside from tylenol, I pretty much never use drugs.
Aside from kathleen fent, I pretty much never fuck fat girls.
Aside from New Year's eve, I pretty much never get shit faced.
Re: (Score:2)
Complex learning-curve, they're usually ugly-as-hell, slow and bloated, a lot are Java-based (so they feel less OS-native), and I can accomplish most of my tasks in a terminal window or TextMate commands. Plus the actual text editors in most IDEs feel second-rate, if not like afterthoughts. I spend a lot of time looking at/writing code/tests/etc. as a programmer, so a good text editor makes me happy.
vim/EMACS? (Score:2, Informative)
I know this is PHP, so it might be expecting too much, but what ever happened to using vi?
I'm a semi-pro (all told I've probably made nearly $100k) web developer and I've never felt the need for all these fancy IDEs. I've tried them before and they just slow me down.
Re: (Score:2)
Re: (Score:2)
Vim came out, and vi users switched over?
Re: (Score:2)
I've tried Komodo and Eclipse. Personally, I didn't find that they gave me anything I didn't get from vim and a few bash terminals, except a lot of annoyance. Intellisense was a pain in the ass. My first task was usually trying to turn it off. (Second was trying to find something decent for vim key bindings.) Some of the code refactoring tools were sort of handy, but not enough to make me put up with everything else. Reggexer works very nicely for most of what I used those for anyway.
It's been a while, so m
Re: (Score:3, Funny)
It doesn't count as an "IDE" unless the code pane is 120x100px when the window's fullscreen and opening the program requires a splash screen.
Re: (Score:2)
Good for you?
But vi isn't an IDE, and this article is about IDEs... so... off-topic. Tell you what, when there's an article about which text editor is best for PHP, then you can post this same thread and it'll be on-topic! Amazing how that works.
Re: (Score:2)
I've found that almost everyone that prefers an IDE ove
Re: (Score:2)
Yes VIM/VI and Emacs can be more efficient but only after spending an incredible amount of time setting up and learning how to use it. Which is why you'll see more books, websites, etc dedicated to learning those two programs than any other.
Quite frankly I don't think it makes you a bette
I Vote Eclipse (Score:2)
Value (Score:2)
The ratings are pretty silly. How can ZendStudio have a value of 10, while netbeans has 9? Netbeans is free/OSS, ZS is proprietary and $400 !!
KWrite (Score:2)
I've used Zend Studio (pre-Eclipse) and Eclipse PDT. I like some of the features such as the way they assist with function parameters and the built in PHP documentati
Visual Studio (Score:2)
Re: (Score:2)
I use Windows for other work and gaming at the same time as I develop PHP, and my favorite IDE (WaterProof's PHPEdit) isn't available for Linux. Why wouldn't I use Windows? That being said the files are always saved both locally and remotely at the same time, and run on Linux servers.
Re:PHP is cross-platform (Score:4, Funny)
Gaming while you develop php? Wow either you are a God among men, or your games are full of chat like printf("fsck off you noob"); and your PHP code is full of wwwwwwwwaawwdadsdwwwwwwdadadwwwww...
do tell!
Re: (Score:2)
That was a bit badly worded sentence, but I mean everything else I use is on Windows too. And since Windows has great IDE's, why would I dual-boot.
But on a related note, sometimes I have actually taken a quick round of plants vs zombies or similar quick game while waiting for large database queries to run.
Re: (Score:2)
I'm dreaming of the OS or Database, whatever, where in order to delete a user you have to run and fetch the BFG9000 or similar. That would be heaven.
Re: (Score:2)
Re: (Score:2)
I hope he is working on an IDE where you write PHP by throwing cowdung at the screen with your Wiimote. I have proposed this numerous times. It just seems so apt. (The duificult is that the SQl development probably relies on a level where you are wresting with aligators).Stomping on bugs would be good using the Wii balance board!
Re: (Score:2)
PHP is cross-platform. Who the hell develops on Windows on purpose?
Raises hand
Re: (Score:3, Informative)
Masochists.
Re: (Score:2)
wow, seems like a lot of pain to avoid:
X -configure
Re: (Score:2)
Re: (Score:2)
I typically use vim for my development, but I do on occasion use Eclipse when I run into problems. The static code analysis can be handy sometimes.
That said I only develop php as an amateur so perhaps if I did it day in and out every day I wouldn't have a use for code analysis. Professionally I program ColdFusion and use vim exclusively.
Re: (Score:2)
Re: (Score:2)
Using vim and an IDE aren't mutually exclusive. Most decent IDEs give you the option of using whatever text editor you want. Debugging through the IDE and doing nitpicky formatting changes for clients is the major draw for me using an IDE. I get a lot more throughput that way. And more throughput leads to more money in my pocket.
Re: (Score:2)
Like I said, never felt the need to use a big IDE, and I don't understand why others do.
How do you debug your PHP code? With a series of "echo" statements?
Re: (Score:2)
Re: (Score:2)
Then you're doing it the hard way and wasting time, because there are much more elegant real debugging solutions too.
Re: (Score:2)
Memory gluttons and high latency. I took one look at eclipse to see what the fuss was about and immediately uninstalled it when I saw the java gui.
Re: (Score:2)
You mean the platform default UI I assume, as SWT uses native widgets?
You mean the 256 MB of memory Eclipse consumes at maximum (default settings) ?
I don't think you really tried it.
Re: (Score:2)