By Matt Butcher
textmate
Using Phing from TextMate to run PHPUnit tests
Submitted by matt on Sat, 2009-07-04 19:35I have recently converted some of my PHP projects over to use the awesome Phing build tool. Phing is similar to Apache Ant, a tool I am familiar with from my Java development days. I have crafted Phing's build.xml for QueryPath to handle building packages, generating API docs, running coverage analyses, linting, and (of course) running QueryPath's ~250 tests.
Having left IDEs behind for the time being, I have been working hard to build an personalized toolchain for PHP development. I've settled on TextMate as my editor (though I still use vim quite often). One thing I wanted to be able to do is run unit tests from within TextMate.
Initially I built a shell script to run the unit tests. But after moving to Phing, it seemed like it should be possible to take advantage of Phing's unit test running abilities (and lovely HTML output) from within TextMate. Working this out took two major stages:
- Writing a custom target in Phing's build.xml
- Creating a simple TextMate bundle for running Phing tasks
This article shows how to accomplish each of these steps.
Debugging your PHP Code: XDebug on MAMP with TextMate and MacGDBp Support
Submitted by matt on Mon, 2009-03-16 21:51
As I see it, there are two major drawbacks to the otherwise-spectacular MAMP (MacOS Apache MySQL, PHP) package (three if you count the funky directory structuring):
- The .h files are all missing, so PECL doesn't work very well.
- There is no debugger.
The first issue is covered elsewhere. In this article, I will address the second by explaining how to setup XDebug on MAMP. XDebug is one of the two popular PHP debugging engines (With ZendDB being the other).
In this article we will cover the following:
- Getting and installing XDebug
- Using XDebug for basic stack tracing
- Integrating XDebug with TextMate
- Configuring XDebug and MacGDBp for client/server debugging
- Using MacGDBp








Recent comments
1 day 12 hours ago
2 days 12 hours ago
2 days 22 hours ago
2 days 22 hours ago
4 days 5 hours ago
5 days 45 min ago
6 days 1 hour ago
6 days 22 hours ago
1 week 2 days ago
2 weeks 1 day ago