diff --git a/test/php/Handler.php b/test/php/Handler.php
new file mode 100644
index 0000000..5ca06a2
--- /dev/null
+++ b/test/php/Handler.php
@@ -0,0 +1,114 @@
+<?php
+
+class Handler implements \ThriftTest\ThriftTestIf
+{
+    public function testVoid()
+    {
+        return;
+    }
+
+    public function testString($thing)
+    {
+        return $thing;
+    }
+
+    public function testBool($thing)
+    {
+        return $thing;
+    }
+
+    public function testByte($thing)
+    {
+        return $thing;
+    }
+
+    public function testI32($thing)
+    {
+        return $thing;
+    }
+
+    public function testI64($thing)
+    {
+        return $thing;
+    }
+
+    public function testDouble($thing)
+    {
+        return $thing;
+    }
+
+    public function testBinary($thing)
+    {
+        return $thing;
+    }
+
+    public function testStruct(\ThriftTest\Xtruct $thing)
+    {
+        return $thing;
+    }
+
+    public function testNest(\ThriftTest\Xtruct2 $thing)
+    {
+        return $thing;
+    }
+
+    public function testMap(array $thing)
+    {
+        return $thing;
+    }
+
+    public function testStringMap(array $thing)
+    {
+        return $thing;
+    }
+
+    public function testSet(array $thing)
+    {
+        return $thing;
+    }
+
+    public function testList(array $thing)
+    {
+        return $thing;
+    }
+
+    public function testEnum($thing)
+    {
+        return $thing;
+    }
+
+    public function testTypedef($thing)
+    {
+        return $thing;
+    }
+
+    public function testMapMap($hello)
+    {
+        return $hello;
+    }
+
+    public function testInsanity(\ThriftTest\Insanity $argument)
+    {
+        return $argument;
+    }
+
+    public function testMulti($arg0, $arg1, $arg2, array $arg3, $arg4, $arg5)
+    {
+        // TODO: Implement testMulti() method.
+    }
+
+    public function testException($arg)
+    {
+        throw new \Exception($arg);
+    }
+
+    public function testMultiException($arg0, $arg1)
+    {
+        throw new \Exception($arg0, $arg1);
+    }
+
+    public function testOneway($secondsToSleep)
+    {
+        sleep($secondsToSleep);
+    }
+}
