[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
) {