There are three popular cross platform Integrated Development Environments (IDEs) which support PHP and include a debugger. Two open source options PHPEclipse and Netbeans and a purchased product phpStorm (Personal: $99, Corporate: $199) each from their respective companies. All three have similar functionality: The ability to edit and debug code as well as to track tasks. PHPEclipse and Netbeans both are written in Java. PHPEclipse is somewhat more developed than Netbeans and includes a marketplace for plugins. PhpStorm and PHPEclipse have slightly more features (Coding style configuration and a more polished aesthetic) than Netbeans but PHPStorm has a more involved configuration and isn’t necessarily better as a result. Komodo IDE ($99 to $295) and Zend Studio ($89 to $328) are two further options.
PHP development does not require an IDE at all. It is possible to edit files in a text editor such as vi/vim and to use scripts for automation of operations such as the updating of files if and when necessary. One feature that is built into the above IDEs which can at times be extremely useful is support of xdebug. xdebug is a way of monitoring the execution of your PHP and inspecting variables at run time. Xdebugclient is a simple stand alone Windows based xdebug client (https://code.google.com/p/xdebugclient/). Under OS X, which is itself UNIX based, there are robust text editors and scripting tools available and a stand alone OS X only tool, Codebug, can be used to provide the xdebug functionality visually ( http://codebugapp.com, $60).
In order to work with xdebug your php binary needs to be compiled with xdebug. This can be confirmed with php -m to list the modules compiled into your binary.
Another type of environment used is for the management of git interactions. Atlassian offer SourceTreee at no charge for Windows and OS X (http://sourcetreeapp.com). This may be appropriate if you are regularly integrating code.
Eclipse’s design originated with a Smalltalk development environment purchased by IBM who developed it into a multi-language development environment. This was later released under a public license and has maintained an annual release cycle.
PHPEclipse is a long established open source IDE / edit tool which supports PHP debug.
GitHub support is available from the Eclipse marketplace built into the application though the support is not as extensive as with SourceTree mentioned above.
It can be installed from:
For OS X installation use the current (luna+) 64 bit version and OS X 10.10 or greater.
NetBeans was developed by a Czech company acquired by Sun in 1999, whom were themselves acquired by Oracle. The acquisition by Sun was motivated by NetBeans product being an IDE for Java and being itself Java based. Since the acquisition by Sun the product has been available at no charge and supports Java, PHP and HTML development. It has limited git support.
Downloads are available from https://netbeans.org/downloads/.
There is a two file plugin for vi which should work on any platform and which can be downloaded from: http://www.vim.org/scripts/script.php?script_id=1929
PhpStorm is available from https://www.jetbrains.com/phpstorm/ at $100 for a personal version and $200 for a corporate version if you are a corporation. There is also a free 30-day trial for evaluation.
PhpStorm requires PHP to be built with fast-cgi (–enable-fastcgi). Under OS X this is a complex process as the default xcode binaries are not and neither are those built by brew. See the comments at the top of cms/installOSX for details.
Much of the PhpStorm configuration process is poorly labelled. There are several options that need to be highlighted or selected in order for functionality to work.
Phpdbg is a command line debugger (from http://phpdbg.com) which is built into PHP 5.6.
It will work with PHP 5.4+ and is a simple and effective long term option once PHP 5.4+ becomes the standard.
The value of using an IDE and the time required to configure and get familiar with it result in a trade-off which may make different solutions appropriate depending on your existing familiarity with other text editors, the type of work being undertaken and the time and resources you have available. The development environment has to save more time during use than it takes to install, configure and become productive in it. The other factor is that the effort required means that you can only add at most a couple of new tools, environments or methodologies for each project you undertake and you may have more application specific issues that you are taking on.