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.
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.
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.
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
Project Management – MyCollab
MyCollab is a multi-purpose solution which features tools for customer relationship management, document management, and project management. MyCollab-Project includes many features, like a Gantt chart and milestones, time tracking, and issue management. It also supports agile development models with its Kanban board.
» Get MyCollab
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.