[THRIFT-5752] Add TTransportFactoryInterface
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
     ) {