diff --git a/lib/php/Makefile.am b/lib/php/Makefile.am
index 4ec6be3..91944c4 100644
--- a/lib/php/Makefile.am
+++ b/lib/php/Makefile.am
@@ -64,7 +64,9 @@
 	lib/Factory/TJSONProtocolFactory.php \
 	lib/Factory/TProtocolFactory.php \
 	lib/Factory/TStringFuncFactory.php \
+	lib/Factory/TTransportFactoryInterface.php
 	lib/Factory/TTransportFactory.php
+	lib/Factory/TFramedTransportFactory.php
 
 phpprotocoldir = $(phpdir)/Protocol
 phpprotocol_DATA = \
diff --git a/lib/php/lib/Factory/TFramedTransportFactory.php b/lib/php/lib/Factory/TFramedTransportFactory.php
new file mode 100644
index 0000000..485fca5
--- /dev/null
+++ b/lib/php/lib/Factory/TFramedTransportFactory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Thrift\Factory;
+
+use Thrift\Transport\TFramedTransport;
+use Thrift\Transport\TTransport;
+
+class TFramedTransportFactory implements TTransportFactoryInterface
+{
+    public static function getTransport(TTransport $transport)
+    {
+        return new TFramedTransport($transport);
+    }
+}
diff --git a/lib/php/lib/Factory/TTransportFactory.php b/lib/php/lib/Factory/TTransportFactory.php
index 43f2eec..98ead95 100644
--- a/lib/php/lib/Factory/TTransportFactory.php
+++ b/lib/php/lib/Factory/TTransportFactory.php
@@ -4,7 +4,7 @@
 
 use Thrift\Transport\TTransport;
 
-class TTransportFactory
+class TTransportFactory implements TTransportFactoryInterface
 {
     /**
      * @static
diff --git a/lib/php/lib/Factory/TTransportFactoryInterface.php b/lib/php/lib/Factory/TTransportFactoryInterface.php
new file mode 100644
index 0000000..614cea8
--- /dev/null
+++ b/lib/php/lib/Factory/TTransportFactoryInterface.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Thrift\Factory;
+
+use Thrift\Transport\TTransport;
+
+interface TTransportFactoryInterface
+{
+    /**
+     * @static
+     * @param TTransport $transport
+     * @return TTransport
+     */
+    public static function getTransport(TTransport $transport);
+}
diff --git a/lib/php/lib/Server/TServer.php b/lib/php/lib/Server/TServer.php
index 268c378..26d63e0 100644
--- a/lib/php/lib/Server/TServer.php
+++ b/lib/php/lib/Server/TServer.php
@@ -2,7 +2,7 @@
 
 namespace Thrift\Server;
 
-use Thrift\Factory\TTransportFactory;
+use Thrift\Factory\TTransportFactoryInterface;
 use Thrift\Factory\TProtocolFactory;
 
 /**
@@ -30,14 +30,14 @@
     /**
      * Input transport factory
      *
-     * @var TTransportFactory
+     * @var TTransportFactoryInterface
      */
     protected $inputTransportFactory_;
 
     /**
      * Output transport factory
      *
-     * @var TTransportFactory
+     * @var TTransportFactoryInterface
      */
     protected $outputTransportFactory_;
 
@@ -60,8 +60,8 @@
      *
      * @param object $processor
      * @param TServerTransport $transport
-     * @param TTransportFactory $inputTransportFactory
-     * @param TTransportFactory $outputTransportFactory
+     * @param TTransportFactoryInterface $inputTransportFactory
+     * @param TTransportFactoryInterface $outputTransportFactory
      * @param TProtocolFactory $inputProtocolFactory
      * @param TProtocolFactory $outputProtocolFactory
      * @return void
@@ -69,8 +69,8 @@
     public function __construct(
         $processor,
         TServerTransport $transport,
-        TTransportFactory $inputTransportFactory,
-        TTransportFactory $outputTransportFactory,
+        TTransportFactoryInterface $inputTransportFactory,
+        TTransportFactoryInterface $outputTransportFactory,
         TProtocolFactory $inputProtocolFactory,
         TProtocolFactory $outputProtocolFactory
     ) {
