is_a is deprecated, instanceof only takes vars or constants

Summary: Solution, dummy static class var to use instanceof

Reviewed By: dweatherford

Test Plan: Regen'd some mobile code in trunk using this


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665401 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/php/src/protocol/TProtocol.php b/lib/php/src/protocol/TProtocol.php
index 658e54c..7e736d5 100644
--- a/lib/php/src/protocol/TProtocol.php
+++ b/lib/php/src/protocol/TProtocol.php
@@ -39,6 +39,12 @@
  * Protocol base class module.
  */
 abstract class TProtocol {
+  // The below may seem silly, but it is to get around the problem that the
+  // "instanceof" operator can only take in a T_VARIABLE and not a T_STRING
+  // or T_CONSTANT_ENCAPSED_STRING. Using "is_a()" instead of "instanceof" is
+  // a workaround but is deprecated in PHP5. This is used in the generated
+  // deserialization code.
+  static $TBINARYPROTOCOLACCELERATED = 'TBinaryProtocolAccelerated';
 
   /**
    * Underlying transport
@@ -63,7 +69,7 @@
     return $this->trans_;
   }
 
-  /** 
+  /**
    * Writes the message header
    *
    * @param string $name Function name
@@ -112,19 +118,19 @@
   public abstract function writeMapBegin($keyType, $valType, $size);
 
   public abstract function writeMapEnd();
-  
+
   public abstract function writeListBegin($elemType, $size);
-  
+
   public abstract function writeListEnd();
 
   public abstract function writeSetBegin($elemType, $size);
 
   public abstract function writeSetEnd();
-  
+
   public abstract function writeBool($bool);
 
   public abstract function writeByte($byte);
-  
+
   public abstract function writeI16($i16);
 
   public abstract function writeI32($i32);
@@ -150,7 +156,7 @@
   public abstract function readMessageEnd();
 
   public abstract function readStructBegin(&$name);
-  
+
   public abstract function readStructEnd();
 
   public abstract function readFieldBegin(&$name, &$fieldType, &$fieldId);
@@ -162,17 +168,17 @@
   public abstract function readMapEnd();
 
   public abstract function readListBegin(&$elemType, &$size);
-  
+
   public abstract function readListEnd();
 
   public abstract function readSetBegin(&$elemType, &$size);
-  
+
   public abstract function readSetEnd();
 
   public abstract function readBool(&$bool);
-  
+
   public abstract function readByte(&$byte);
-  
+
   public abstract function readI16(&$i16);
 
   public abstract function readI32(&$i32);
@@ -343,7 +349,7 @@
       }
     default:
       return 0;
-    }   
+    }
   }
 }
 
@@ -358,6 +364,6 @@
    */
   public function getProtocol($trans);
 }
-    
+
 
 ?>