(+84) 463.28.7979

Tools for the Modern PHP Developer


If you have been working in PHP for a while, may be it’s time to go pro. This article lists a number of tools and software that will improve your development practice and boost productivity. They are absolutely free and open-source! There are alternatives for most of them, so you can feel free to do your own research to adopt a tool.

Unit Testing – PHPUnit

Unit testing is an effective practice for developing software, where you can test your functional units of your code, catch the bugs and fix them early in the project. PHPUnit is a member of the xUnit family of testing frameworks, the same family where the popular JUnit framework for Java belongs to . It enables to you write tests on pieces of your code, run them automatically and analyze their results.

» Read the PHPUnit documentation

Debugging – Xdebug

Debugging is an important part of development process. The more efficient your debugging process is, the faster you build something. Instead of relying on echo(), print_r() or var_dump() functions, you should try using XDebug. Xdebug is a multi-purpose tool, providing remote debugging, stack traces, function traces, profiling and code coverage analysis.

» Read the documentation

Documentation – PHPDocumentor

A good documentation is essential to the success of any software project. If you want your code to be read and reused by other developers, PHPDocumentor can help you with its automated documentation engine. All you have to do is to comment the code according to its specification. It is also possible to generate separate sets of documentation from the same source.

» Read the tutorial

Version Control – Git or Subversion

If you are working on a multi-developer software project, you cannot use the underlying file system to keep track of changes made to the code. Otherwise people will be overwriting or deleting each others code. With a version control system, you can create a repository of the source code, branch out from it when you need to add a new feature, submit the changes and then merge it with the main branch after testing. Thus it makes it easier for you to synchronize with the work of others, track changes and also switching back to the old code when something gets messed up. Git and Subversion are the two most popular version control software. The first one is distributed in nature, while the second one is a centralized system. You should choose depending on the nature of the project and your development needs.

» Get started with Git
» Subversion Tutorial

Development – NetBeans IDE for PHP

It’s time to leave the good old Dreamweaver and go for an integrated development environment or IDE. As the name suggests, an IDE gives you all the facilities like debugging, testing, documentation, version control, deployment in a single environment. There are a lot of IDEs to choose from, but you should definitely try out NetBeans. It’s very user-friendly, has great code-assistance(for HTML/CSS and JavaScript as well), small footprint on system resources and absolutely free! You can add/remove plugins from their online plugin repository to make it more useful.

» Download NetBeans

Project Management – PHProjekt

A project management tool allows you to co-ordinate the project with your client, collaborate development with the coders, track issues and bugs, manage development milestones etc. PHProjekt is web-based tool that can be deployed in your company intranet network. It has a project structure tree that can be subdivided into sub-projects, and unlimited tasks can be added to these. It also features a resource reserving system, this should make your team more efficient and productive, and allow you to know who’s using what, when.

» Get PHProject

What do you think of the list? Anything you might want to add? Any alternatives you prefer? Please share your thoughts in the comments section.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>