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?
Tags: codesniffer, development, phing, PHP, phpdocumentor, phpundercontrol, phpunit, selenium, testing, xdebug, zend framework








March 21st, 2008 at 12:29 am
[...] 有好记个工具没用过,有时间了玩下,感谢原作者的总结 [...]
March 21st, 2008 at 3:48 am
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
March 22nd, 2008 at 3:23 am
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, .
March 22nd, 2008 at 7:47 pm
Thank you Dave. PHPunit looks very interesting, I’ll give it a try the coming weeks. Do you use it yourself?
March 23rd, 2008 at 3:41 am
[...] DaveDevelopment » Archive » 10 tools for Modern PHP Development [...]
March 23rd, 2008 at 12:42 pm
@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.
March 23rd, 2008 at 12:50 pm
@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.
March 23rd, 2008 at 7:26 pm
[...] DaveDevelopment » Archive » 10 tools for Modern PHP Development ã§ã€ŒPHP ã®é–‹ç™ºã«ä½¿ã‚れã¦ã„ã‚‹10個ã®ãƒ„ールã€ãŒç´¹ä»‹ã•れã¦ã„ã¾ã—ãŸã€‚ [...]
March 23rd, 2008 at 8:35 pm
[...] DaveDevelopment » Archive » 10 tools for Modern PHP Development (tags: PHP Development Frameworks Tools) [...]
March 25th, 2008 at 5:48 am
[...] DaveDevelopment » Archive » 10 tools for Modern PHP Development (tags: php tools webdesign) [...]
March 25th, 2008 at 4:11 pm
If you want to buy a issues tracker, you can buy wIT (full PHP) …
http://www.waterproof.fr/products/wit/
March 25th, 2008 at 4:25 pm
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
March 26th, 2008 at 12:21 am
[...] 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 [...]
March 27th, 2008 at 12:28 am
[...] Tramite un giro di link partito da Technorati sono finito in una lista di dieci strumenti utili allo sviluppatore PHP. [...]
March 31st, 2008 at 1:23 am
[...] DaveDevelopment » Archive » 10 tools for Modern PHP Development???PHP ??????????10????????????????? [...]
April 4th, 2008 at 12:10 am
It’s interesting,but I have not used one of them.
April 9th, 2008 at 10:32 pm
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.
April 15th, 2008 at 6:48 am
Very nice :) btw very good tips i will use them. Some of them i did not knew.
May 5th, 2008 at 9:55 pm
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….
July 7th, 2008 at 2:57 pm
Thanks for the compilation :)
September 8th, 2008 at 10:55 pm
[...] are plenty of tools available to aid and improve the development process, be familiar with as many as you can handle. I [...]
August 16th, 2009 at 12:23 pm
I would also recommend using an ORM, such as Propel or Doctrine. Both offer many conveniences, but I like propel simply for the way it creates your objects: there are base objects, and objects. You modify the objects as much as you want, and they never get over-written. When you change your schema, you just tell to re-build the base objects. Handy dandy. Also, Propel gives you getters & setters for everything, which I’m fond of.
November 22nd, 2009 at 1:50 pm
[...] PHP Geli?tirmede Yard?mc? Olacak 10 Araç [...]
November 25th, 2009 at 3:38 am
[...] 10 tools for Modern PHP Development [...]