Are you ready to take a step beyond writing code in a text editor like UltraEdit, BBEdit, or TextMate? Would you like to see those PHP and JavaScript syntax errors in the editor, without transferring files to the server or opening a browser? If so, then you're ready to jump into the world of the IDE — Integrated Development Environment. I'll compare the free, open source Eclipse IDE to a few of its commercial competitors Then we'll go through the steps to install Eclipse PDT All-In-One, the Zend Debugger, JSEclipse, and Subclipse.
Why an IDE? Let there be no mistake, I still love BBEdit and TextMate. I use both daily at work and at home for quick edits and I actually wrote this post in TextMate. But if you spend a good portion of your day writing PHP, an IDE will save you time in small increments by highlighting those unbalanced braces and missing semicolons, displaying PHP function arguments, and allowing you to debug your code right in the editor.
There are commercial IDEs available and I've use a few of them. I tried an early version of Eclipse with the xored studio but the combo wasn't feature-rich and didn't perform as well as Zend Studio. I later switched from Zend to Active State's Komodo. I've been happy Komodo but it's sluggish performance on my PPC Mac drove me back to giving Eclipse another try.
I started using Eclipse with PDT at work about a year and am amazed at how much PDT, formerly PHP IDE, has improved over the past four years. Eclipse is first a Java development environment, but extensions exist for a bunch of other languages, including Perl, Ruby, and Tcl. Okay, enough with the commentary, let's get to it, shall we?
Installation couldn't be easier. Visit the Eclipse PDT download page, select a stable build link, scroll down to the PDT All-in-One section, and select the download for your platform.
http://download.eclipse.org/tools/pdt/downloads/
Once the download is complete, unpack and move the 'eclipse' folder to your Applications or Program Files folder. Fire up Eclipse, create a new PHP file or project, and code away.
Out of the box, Eclipse provides PHP syntax highlighting, code completion, PHP documentation, phpDoc support, and more. Local and server debugging, however, require the installation of XDebug or Zend Debugger extension. Here's how to enable local debugging with the Zend Debugger.
You should now have a PHP Debug Perspective, complete with variable tracing, breakpoints, and CLI and browser debug output views.
To add improved JavaScript editing abilities to Eclipse, install JSEclipse from Adobe Labs. JSEclipse also provides editing support for popular JavaScript libraries, including YUI, Dojo, Prototype, and more. To install JSEclipse with the Update Manager
To create a new JS file, select New->File->Other->Web->JavaScript. You should now have code completion and error highlighting for JavaScript files.
To add support for Subversion revision management you'll need to install Subclipse from tigris.org, the developers of Subversion. To install, let's use the Update Manager again.
To checkout an existing Subversion repository
I've just started to use some of the data integration and design extensions available for Eclipse and will post a followup soon. In the meantime, happy coding!
Comments
hi
Thanks for this detailed articles on installing all these plugins. Being wanting answers for a long time now.Am so glad i stumbled on your website. Great work!!
Detailed step-by-step guide for setting up PDT+XDebug
Here's a detailed step-by-step article for setting up a PHP debugger using PDT+XDebug and XAMPP:
http://robsnotebook.com/php_debugger_pdt_xdebug
Thanks for sharing Rob.
Thanks for sharing Rob.
I couldn't get the debugger
I couldn't get the debugger going in 1.0.3. I did some reading and found a number of things have changed in this version but couldn't find sufficient documentation to follow on. I will try again later when hopefully all the changes are well documented. Thanks for the article.
Publishing to the server
Unless I've missed something, I can't find a way to publish my files to my Apache server.
Does Zend do this for you? Based on the Help in Eclipse, it does not. And for me, as a newbie to PHP, it's really helpful to have the files publish right from my project in Eclipse.
Is there any word on if this is coming? Right now I'm keeping my files in a static web project, so they'll automatically publish to my server when I save them. And then I'll just copy them back when I need to use the debugger.
I have the same question. I
I have the same question. I cant get my PDT configured to have the files published to the Apache Web server directly. How did you use static web project to do this? Can you elaborate? thanks
Two methods to publish, probably others
@PHPn00b and @btm, I'm aware of two methods to publish project files. I use Subversion to manage revisions and to checkout updates on my production server and am very happy with the flexibility and power using version control provides.
@ragaskar commented on the RSE Eclipse plugin which might open up the possibility of publishing files from the command line via scp or ftp.
There may be other file publishing plugins that provide what you're looking for.
Whenever I open a file in
Whenever I open a file in php, it always opens in other editor(dreamweaver 8.0). The same thing happens when moving between php file tabs already in the workbench. So I m forced to work in dreamweaver editor.
Kindly provide the solution.
Change File Association on Windows
Open My Computer, and on the menu bar choose Tools -> Folder Options and take a look at the File Types tab. Scroll down on the registered file types and find and edit the .php extensions. Hope this helps.
Change editor file associations
You can change the editor associated with files that have a .php file extension. I don't recall how to do it on Windows, but on the Mac, select a PHP file, select Get Info, change the Open With value, and click the 'Change All...' button.
Debugger
I installed the all in one package for Windows and I can set breakpoints etc and there seems to be some mention in the settings that its using the zend debugger however I cannot get it to stop on the breakpoint. Do i still need to install the Zend debugger? I have seen contrasting documentation to say the all in one does containt the debugger and documentation that it doesn't.
Tutorial Eclipse PDT using Zend Debugger
Hello,
I've also been struggling with getting the Zend Debugger to work inside eclipse PDT but finally it works! I made a tutorial of 7 page's describing the installation/use of the Zend Debugger on a local Wamp 1.7.4 PHP server.
You can download the tutorial together with a eclipse PHP project 'debugtester' from http://www.kinetiek.com/files/download/debugtester.zip.
regards, Mike
Thanks Mike
Really useful tutorial :)
Yes, I believe so
Despite what you've seen to the contrary, I'd go ahead and install the debugger. If that doesn't work, perhaps you could try Xdebug.
why jsEclipse and not Aptana?
Thats the question, why using jsEclipse and not the Aptana plug-in for Eclipse?, I think is much complete
I hadn't tried Aptana. The
I hadn't tried Aptana. The fact that JSEclipse is developed by Adobe was appealing and JSEclipse seemed to have more Google-juice when I did my initial search for a JavaScript eclipse plugin. Can you share some of Aptana's features?
What's the difference in between phpeclipse ana pdt project?
Hi php gurus,
Since, I am new...to start my step with "which IDE on php?" is the big question?
What's the difference in between phpeclipse ana pdt project?
Which is one the latest and robust one and would recomended, like my java IDE - eclipse?
Please, help me to choose the best IDE for PHP base projects development?
Thanks in advance.
~S
I haven't used phpeclipse,
I haven't used phpeclipse, but I've talked with a friend about it. This friend tells me that phpeclipse provides more features than PDT. What he's noticed, however, is that PDT appears to be a more active project and more highly supported project. This article may help you in your decision making process: http://divby0.blogspot.com/2007/07/phpeclipse-vs-pdt.html
PDT on Ubuntu
I wanted to pass along the only way I found to get PDT installed and working on Ubuntu Gutsy...
I had no luck with the Eclipse from the Ubuntu repositories, and certainly no luck with anything related to GCJ. I've spent two days now on it.
What I did that finally appears to be working:
- remove all GCJ and Java stuff
- install Sun's 1.5 JDK
- download the J2EE Europa version
* ( at this point, Eclipse works) *
- add PDT as a new Remote Site to Eclipse's updater, and force it to download the files only from the PDT site itself (due to some bug with mirrors -- see http://dev.eclipse.org/blogs/wayne/2007/09/18/php-for-nothing/)
I then had PDT installed and working, and could then follow the instructions from this blog post for adding Subclipse and JSEclipse. I didn't bother with Zend Debugger, because I think PDT should be able to use xdebug ok.
Thanks
Thanks for sharing.
Thank you!!
Thank you!!
Your article in beautiful.
Code completion
Is the code completion functionality supposed to cover project-specific included classes as well? The PHPEclipse plugin seems to have a larger, more updated library for code completion then the PDT. Any thoughts on this?
Code completion relies on PHPdoc comments
AFAIK, if the class isn't documented PHPdoc-style, there's no code completion.
Code Completion relies on PHPdoc comments
I checked the .profile file, so I'm sure my project has got the PHP-perspective.
So I opened one of the files with a class and added a comment @method to the constructor, and @package just above the class declaration.
But I still get no code completion. Did I miss something?
By the way, thanks for a lot of good hints on this blog!
Did you also comment your class' member functions?
You need to comment function parameters and return values to full enable code completion. You should also comment class variables.
Where is the PHP perspective? How to add PHP projects?
I have the same problem. No PHP Project under New. No php perspective is visible under Perspectives.
1) Cleaning doesn't help (i.e. starting with "eclipse -clean") so it's not a chaching problem.
2) Re-installing doesn't help.
3) installing eclipse Europa and adding PDT only doesn't help.
Does anybody have a clue?
Best wishes, Mike
Where is PHP perspective?
I installed everything to integrate php into eclipse and noticed that the php didn't appear directly in the new list. But did you happen to go File -> new -> other -> PHP
A new JRE worked for me
Just installed a new Java Runtime Environment. Now I see PHP perspectives in Eclipse and I can create a new PHP project.
JRE Version: 1.6.0_03-b05.
Maybe this might help for you too.
Good luck, Mike
Thank you, Thank you, Thank you
Installing latest JRE worked for me also. Nothing more frustrating then installing something new and having the simplest task not work.
java5 required
1.5.0_12-b04 works too
1.4.2_14-b05 doesn't work
after first start there was LOOOONG time to start eclipse but after that it's working nice and smooth even with php debugger.
thanks a lot for good plugin tip
Post new comment