10 tools for Modern PHP Development

A simple list of tools for modern PHP development. There are alternatives to most of the tools, but I’ll list native PHP tools wherever possible.

1. PHPUnit

PHPUnit is a testing framework belonging to the xUnit family of testing frameworks. Use it to write and run automated tests. Start using PHPUnit

2. Selenium RC

Selenium RC can be used in conjunction with PHPUnit to create and run automated tests within a web browser. It allows tests to be run on several modern browsers and is implemented in Java, making it available to different platforms. PHPUnit and Selenium

3. PHP CodeSniffer

PHP CodeSniffer is a PHP code tokenizer, that will analyse your code and report errors and warnings based on a set of Coding Standards. Documentation

4. Phing

Phing is a project build tool and is a PHP port of the popular Java program ant. Phing can be used to automate builds, database migration, deployment and configuration of code. Documentation. Database migrations with phing

5. Xdebug

Xdebug is a multi-purpose tool, providing remote debugging, stack traces, function traces, profiling and code coverage analysis. Debug clients are available in many PHP IDEs and even plugins so you can debug from everybody’s favourite editor vim. Documentation

6. PHPDocumentor

PHPDocumentor is an automated documentation tool, that allows you to write specifically formatted comments in your code, that can be brought together to created API documentation. Tutorial

7. phpUnderControl

phpUnderControl is a patch for the popular Continuous Integration tool, CruiseControl. Together with the previous six tools, phpUnderControl gives you a great overview of the current state of your application/codebase. Keep an eye out for Xinc

8. Zend Framework – or <insert your favourite framework here>

Frameworks facilitate the development of software, by allowing developers to focus on the business requirements of the software, rather than the repetitive and tedious elements of development, such as caching. There are plenty of frameworks to choose from, but I particularly like the Zend Framework. Have a read through this excellent Getting started guide

9. Subversion

Subversion is a revision control system that has superceded CVS. If you’re writing software of any kind, you shoud be using version control software.SVN Book

10. Jira

So I could have named one of many, but this is the one I’ve liked the most recently. Jira is a bug/issue tracking software package and can also help with project management in terms of goals and roadmaps. Most issue trackers link to version control repositories, such as Subversion. Only downside to Jira is that it costs for non open source projects.

I’m pleased to say that with a little bit of pushing and persuasion by myself, we are currently using all of these technologies with the exception of Jira, we have a bespoke issue tracker.

What do you think to the list? Anything I have missed? Any alternatives you prefer?

  • Digg
  • del.icio.us
  • NewsVine
  • Reddit
  • Furl
  • DZone
  • StumbleUpon
  • Technorati

Tags: , , , , , , , , , ,

21 Responses to “10 tools for Modern PHP Development”

  1. 李光明@如梦令 » 当今十大php开发工具 Says:

    [...] 有好记个工具没用过,有时间了玩下,感谢原作者的总结 [...]

  2. Doug Hill Says:

    Great list

    PHPUnit
    Phing
    PHPDocumentor
    xDebug
    SVN

    They are so much a part of my development environment that I forget they aren’t built in!

    Doug

  3. Joshua McKenty Says:

    I’d take issue with a few things, and point out a couple of others, but in general I think you’ve got the SPIRIT of the list right.

    Even though it’s Python and not PHP, I much prefer Trac to any other issue tracking system.

    You neglected to mention eAccelerator / APC, nor any mention of Smarty or another template framework. (Yes, most frameworks include a template library as well.)

    I am partial to Symphony, but of course Drupal is intensely popular these days.

    Love your inclusion of PHPDocumentor, but not a fan of the continuous integration movement.

    PHPUnit is an obvious one. Never bothered with Phing, although I *have* deployed PHP with both Capistrano, and SCons. (Yes, weird, I know).

    PHPMyAdmin is a must-have for most of us, as ugly as it may be.

    SVN is SO last week, we’re all using Git these days, and the best thing for it is a http://github.com account.

    Anyway, .

  4. Korbinus Says:

    Thank you Dave. PHPunit looks very interesting, I’ll give it a try the coming weeks. Do you use it yourself?

  5. Bookmarks de 22/03/2008 Says:

    [...] DaveDevelopment » Archive » 10 tools for Modern PHP Development [...]

  6. daveyboy Says:

    @Joshua

    I like trac, have used it before.

    I think the acceleraters are good, but they can be put down to a system administration issue, developers need not know about that. Maybe APC for the user space caching.

    I’ve used capistrano with my little rails experience, when in Rome and all that. I chose Phing because it’s PHP based, which makes things a lot easier for other developers at my workplace. Most of them work on Windows and probably don’t want to install a different programming language so they can run our database migrations.

    I rarely use phpMyAdmin these days, but I do like it. I’m a big command line fan and have got used to doing things that way.

    I know of Git, but I’m not sure how it would benefit us at my current place of work, we don’t use Subversion to it’s full capabilities, but I’d bear Git in mind if Subversion wasn’t meeting our requirements.

    I think the biggest thing I left off the list is collaboration tools. Trac comes complete with a wiki, but other things like online chat, IM, email and file sharing can all help development teams particularly distributed ones. We run an Openfire jabber server. It allows us to chat about things and run our Scrums if we can’t be together. We also have scripts watching log files, the subversion repository and we get alerts in there from CruiseControl.

  7. daveyboy Says:

    @Korbinus

    I use or have used all of the tools listed.

    Writing Unit Tests does take time, but I think generally leads to improved quality. I think somebody at IBM said it takes their developers an extra 15% development time to write tests, but they end up producing double the quality of code.

  8. PHP 開発に使う10個のツール | Sun Limited Mt. Says:

    [...] DaveDevelopment » Archive » 10 tools for Modern PHP Development で「PHP の開発に使われている10個のツール」が紹介されていました。 [...]

  9. Roshan Online » Blog Archive » links for 2008-03-24 Says:

    [...] DaveDevelopment » Archive » 10 tools for Modern PHP Development (tags: PHP Development Frameworks Tools) [...]

  10. links for 2008-03-25 « Elearning Says:

    [...] DaveDevelopment » Archive » 10 tools for Modern PHP Development (tags: php tools webdesign) [...]

  11. nico Says:

    If you want to buy a issues tracker, you can buy wIT (full PHP) …
    http://www.waterproof.fr/products/wit/

  12. azurams Says:

    what about php to the moon ? http://phptothemoon.com/

    It analyses static and dynamic tests providing more complex tips to improve your coding and security habits

  13. PHP Weekly Reader - March 23th 2008 : phpaddiction Says:

    [...] Zend again You really have to admire the way the ZF community keeps up the flow of information about the Zend Framework. Other open source PHP projects should learn from this, create some buzz! Zend Framework announced the release of Zend Framework 1.5 Go see the reaction of a true fan too cute if you like cute. There are even some tutorials available already. Wiki vs. unWiki PHP has a new wiki and Drupal explains why they won’t have a wiki. GSoC A lot of buzz going on about the upcoming Google Summer of Code. I started to point to all the ideas and announcements but it seems they are all listed over on the PHP wiki, go look at it, it is an interesting list. Code Just like last week there wasn’t very much code out there to play with but here is a bit to think about. Ruby-style mixins in PHP, … its not Ruby so why waste time trying go program in Ruby or use interfaces and delegation at least thats my opinion. This cracked me up go read the description. — “doesn’t require any programming skills” okay now read the article, I guess in a way its true, no real programming skills were required. I cringed when I saw the title –Tips & Tricks of Learning Ternary Operators. This weeks sampling of code made me really appreciate this — Licence to release PHP code? Oh and this might come in handy if you have a blog and use feedburner,. Making Your Own FeedBurner Chicklet (PHP). Everybody has opinions I guess its just time to dig up old arguments, like Template Engines vs. PHP, some opinionated views on what makes good and bad code in Another 7 deadly sins for PHP. And lets see if we can figure out Why do open source web apps suck? Well all of them don’t suck but some do, I’m not quite sure that the title of the article really has anything to do with the content. It certainly was good link bait though and a few people bit with Open source web apps *do not* suck and To use Open Source or not. Top Ten stuff Do the people who write these top framework review type things ever do anything but the most trivial of research? All-Out Code Edit War: What’s the best Web-developer’s Code Editor out there?. What about tools? 10 tools for Modern PHP Development hit all the common ones but didn’t really dig too deep. All in all I just don’t get much out of the Top Ten type things. Career advice Coding horror article on Paul Graham’s Participatory Narcissism sheds some light on something a lot of programmers struggle with. The majority of us will not work in a startup and thats okay. repeat after me its okay. A Letter to an Aspiring PHP Programmer should have pointed out that you should do what you love, success and happiness will follow. Well in a perfect world it would anyway, but the language you learn today will probably not be the one you are using 10 years from now, being a solid well rounded programmer is the way to the big bucks. Oh oh oh! Does anybody enjoy being “openly mocked”? You might enjoy this article then The Wall of Fail. And last but not least here is some good advice The First Rule of Programming: It’s Always Your Fault never forget it! It saves so much time and even more conflict. Well thats all for this week. I wish I had more time, I left out a few things that deserved mention, maybe I will sneak them in next week. var dzone_url = ‘http://www.phpaddiction.com/tags/php/php-weekly-reader-march-23th-2008/’; var dzone_title = ‘PHP Weekly Reader – March 23th 2008′; var dzone_blurb = ”; var dzone_style = ‘1′; March 26, 2008 | Filed Under Weekly Review, php  [...]

  14. 10 strumenti per uno sviluppatore moderno : php5blog.it Says:

    [...] Tramite un giro di link partito da Technorati sono finito in una lista di dieci strumenti utili allo sviluppatore PHP. [...]

  15. PHP ?????10????? | Sun Limited Mt. Says:

    [...] DaveDevelopment » Archive » 10 tools for Modern PHP Development???PHP ??????????10????????????????? [...]

  16. changyu Says:

    It’s interesting,but I have not used one of them.

  17. GZ Says:

    I agree on most of the items. Just wanted to add that subversion is not only a modern tool to PHP Development. It is a modern tool to any programming language.

  18. Stronghold Crusader Says:

    Very nice :) btw very good tips i will use them. Some of them i did not knew.

  19. informednetworker.com Says:

    10 tools for Modern PHP Development…

    Dave Marshall offers a list of ten useful tools in PHP Development. These include PHPUnit, Selenium RC, PHP CodeSniffer, Phing, Xdebug, PHPDocumentor, phpUnderControl, Zend Framework, Subversion, and Jira….

  20. Aaron Rosenfeld Says:

    Thanks for the compilation :)

  21. Landing a PHP job Part 1: Technical Knowledge and Skills Says:

    [...] are plenty of tools available to aid and improve the development process, be familiar with as many as you can handle. I [...]

Leave a Reply