home forums resources search newsjoinmembers: 5241
Joomla Wordpress Drupal Fireorb Flash Java PHP Ruby Windows
 videos
 articles
 blogs
 comments
 downloads
sitemap
Hiveminds | Mon, 2006-05-29 08:45  tags:

PHP IDE

There are so many PHP IDE's out today and it is very hard to choose between them. In my investigations I have found that though there are many they all fall short when it comes to the basic needs of a PHP developer. Before I continue and review some of those PHP IDE's here is a list of 10 things a PHP coding program has to have. Well, okay so the list should be more than 10 but not much more.

The IDE's will be judged strictly on the ten points. This makes things fair and easy. It also keeps evangelism out of the comparison. I have noticed that PHP developers tend to get very talkative about how good some IDE's are based on the brand name or some other "cool" functions which are totally useless for the general audience of users.

  1. One-click project creation by choosing a directory with. Too many PHP IDE's have multi-step project creation. Some even have strange functions where you have to add files to the project and delete them. Adding and deleting a file from a project should be as easy as going to the file system and moving or removing the file. I don't want to delete a file from a project and find it hanging out in the project folder later. Some might think this is cool, but it is not.
  2. Local filesystem viewer that shows the filesystem tree without having to enter a drive letter. If I cannot see the file system from the IDE it's uninstall and delete followed by some violent thoughts directed at the software maker.
  3. A PHP debugger that works out of the box with a local webserver. No PHP IDE has this yet. I consider it the holy grail of the PHP software world. No matter how much support software manufactures offer it never covers this aspect of using an IDE enough. Frequently the only reason for purchasing or using an IDE rather than a text editor is to get debugging features.
  4. A HTML toolbar. Why do PHP IDE makers think PHP developers want to type out and can remember all HTML? After all they are buying or downloading the IDE to ease the task of having to type things character by character. CSS is also much more important nowadays as is javascript, they should be included.
  5. Price is in second place after debugging. When you think about it you might see that the top commercial IDE makers are probably guilty of price fixing. Why they think that PHP developers will pay $300 for their software is beyond me. I myself would not pay that kind of money for a Java program that is buggy and runs slow as molasses. You want three hundred bucks? Give me everything on this list in a blinding fast program written in C , Delphi or Visual Basic.
  6. Drag and Drop text that does not bug out when used. All PHP IDE's seem to have this in common. Using drag and drop or marking long rows of text cause jumping, jitter and the disappearance of the pointer. Some even scroll to a "home" area on the screen when too much text is marked.
  7. Fast start times. Okay, let's skip the slow Java debate and go straight to the core. I want my 2.5gz processor to start the IDE in the same time that it can start Word or Open Office. Waiting a minute is ridiculous. Again here commercial vendors may want to take note. If the program costs more than $300, I deduct $10 from the retail price for each second that it takes to start the program.
  8. File backups on save and timed backups of working files. I cannot stress how important this is. Without backups the program becomes a danger to use. I always find myself making several copies of files as I work to give me a stepping back or history capability. I would be nice if an IDE had a savable history or versioning capability. But plain backup is a must.
  9. A TO DO list function. It should be simple with a title and text body. The list should appear per project. I get tired of seeing TO DO lists functions that require that I do more than just jot down the thought in my head.
  10. Intellisense. This is a must. But also one has to wonder why regular HTML is never included in intellisense. Intellisense I feel is being used as an excuse for not including the other things need to produce a proper PHP application

A good PHP IDE should allow the developer to produce a complete application without opening another program to do HTML, CSS or javascript tasks. Many of the items mentioned in the list have been part of text editors for years but seem to go missing in PHP IDE software. This is strange since the functionality is probably part of the IDE that the programmer is using to create the software. You would think they would add in the features that they enjoy when creating a new program.

Somethings that are nice perks but I hate to see good programming time go to when the above list is not complete.

  • cvs
  • ftp
  • diff
  • patch
  • support for other programming laguages like Perl or Ruby
  • addons or modules propietory to open source php applications.

Hiveminds's picture
This article brought to you by the Hiveminds Magazine - Staff. Contact us if you want to post an article or announcement anonymously
 
Anonymous - posted on: Fri, 2006-05-26 19:45.

Nice write up. I look forward to reading some of the reviews.

Anonymous - posted on: Sun, 2006-05-28 19:37.

Zend Studio is the complete package. It is very easy to use(it reminds me of Microsoft's Visual Studio, but for PHP). It has HTML capabilities. The only thing that is bad is that it is written in Java and it is slow when it starts up. It takes 3-5 seconds.

Hiveminds posted on: Sun, 2006-05-28 21:13.

Zend Studio looses points on items 3,4,5,7,8. I am now testing version 5. Even after defragmenting and optimizing windows as much as possible it takes 20 seconds to start. The PC is 2.5ghz cpu with 756mb of ram running windows 2000 pro.

a Visitor posted on: Wed, 2006-05-31 17:52.

You might try EngineSite editor also. Cheaper and work better I think.

Hiveminds posted on: Thu, 2006-06-01 07:45.

I have just downloaded Enginsite for PHP and was impressed by it. But then I tried working with it and it has some quirks that I consider bugs.

  • if you click close all it not only closes all the files but also the project. Not good and irritating.
  • The default project view shows all files in a straight list without directories. The files are in order by name so all the file with the name changelog.txt are put together and show in a row. To get directories you have to go to local view. But then you have to click on the highest point of the directory system and hunt down. The tree veiw is not open as a standard. This is one of my pet peeves so it puts this very nice editor on my crap list.
a Visitor posted on: Wed, 2006-06-07 13:12.

Check out NuSphere PhpED - www.nusphere.com. 4.5 is really, really fast, all bells and whistles are there too. Comes at $299 - was totaly worth it for me, they are native windoz and I hate Java UI.

a Visitor posted on: Wed, 2007-01-24 23:13.

The absolutely only IDE I have come across that comes close to what you are wanting. I have used Zend studio (3.2 through 5.X) and each revision sucks worse than the last. I have used PSPad, which is not an IDE, and it is OK, but it is really a glorified text editor. But Eclipse has absolutely kicked butt for me in recent months. And it is free. And comes with some pretty good features. In my opinion. But above all, I would totally not recommend Zend Studio to anybody anymore. Not as long as Eclipse is available.

a Visitor posted on: Wed, 2007-01-24 23:38.

http://www.ultraedit.com/index.php?name=Content&pid=150

It has most of what you listed and it is fast. :D

a Visitor posted on: Mon, 2007-03-12 14:49.

Code completion works fine with php built-in functions, but how can I get more detailed description? In php eclipse hovering mouse over php function would bring up detailed description.

a Visitor - posted on: Mon, 2007-04-02 04:09.

This IDE is quite nice to use no doubt, but lacks true intellisense. It seems to me that alot of people who review these PHP editors / advise others to use product x or product y must be using php purely for scripting purposes.

It seems rather evident that creating OO based web applications is not very common amongst reviewers in general. I say this because the only IDE that even comes close to useful for large scale, OO based, web applications is Zend Studio. Nothing else evens come close.

When you create any piece of software, including medium to large scale web apps, you create upwards of 100+ classes which is essentially the guts of your entire app. That being said, you practically create your own library of classes that perform all the funtionatlity and get created from small php files!

For instance:

<?php

include(...);
$page = new Page();
$page->display();
etcetc.

?>

Now any GOOD IDE would bascially require you to type

$page = new [a list of all your classes should drop down!!!!]
$page->[a list of all the public functions, etc should drop down from class Page only!!!, not every single class youve created as per php-eclipse]

this type of functionality is ESSENTIAL! it is not good enough to just auto complete php functions from thbe language itself or as PHP eclipse seems to do, show every single function from every single class. A good IDE also needs to give you a list of classes you have created when typing $a = new ...

When you have a library of 200+ classes it is impossible for you to be expected to rememebr every single function / class name or even for you to need to type it out. It is beyond annoying and defeats the whole purpose of having a IDE if you need to browse through a list of classes, open the class you want to use to find the function name you need to call.

Sorry but for large scale developement of OO based webapplications, nothing else even comes close to zend that handles the above functionality i have outlined with ease. And so it should yells our Visual Studios and every other good IDE in history.

As far as debugging is concerned, alot of IDE's i have tested (cant think of a PHP IDE that I have not) have similar debugging capabilities. Once again Zend handles this perfectly fine and in many cases it is almost impossible to use the debugging capabilities of any IDE due to the stateless nature of the web / AJAX.

I highly recommend Zend for anyone that demands an IDE to make life easier from an OO / large scale dev point of view. For small scripting purposes, or adding a bit of database functiontliy to website, I dont think it much matters what you use!

If php eclipse just had this functionality I would seruiosuly consider upgrading. Zend can be sluggish but really with a average dev computer of today (p4, 3Ghz, 1-2Gb ram, windows vista) you hardly notice it.




 

Newsletter

Get updates on Hiveminds services, articles and downloads by signing up for the newsletter.

Editor's choice

Some of the better articles, stories and tutorials found at Hiveminds.

Find more

Find more of Hiveminds articles, stories, tutorials and user comments by searching.




Picked links

Hand picked websites and articles from around the web that provide quality reading.

page top