コード例 #1
0
 public function testFromSerializationTriggeredException()
 {
     $reflectionClass = new ReflectionClass($this);
     $previous = new Exception();
     $exception = UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $previous);
     $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception);
     $this->assertSame($previous, $exception->getPrevious());
     $this->assertSame('An exception was raised while trying to instantiate an instance of "' . __CLASS__ . '" via un-serialization', $exception->getMessage());
 }
コード例 #2
0
ファイル: Instantiator.php プロジェクト: ppwalks33/cleansure
 /**
  * @param ReflectionClass $reflectionClass
  * @param string          $serializedString
  *
  * @throws UnexpectedValueException
  *
  * @return void
  */
 private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString)
 {
     set_error_handler(function ($code, $message, $file, $line) use($reflectionClass, &$error) {
         $error = UnexpectedValueException::fromUncleanUnSerialization($reflectionClass, $message, $code, $file, $line);
     });
     try {
         unserialize($serializedString);
     } catch (Exception $exception) {
         restore_error_handler();
         throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
     }
     restore_error_handler();
     if ($error) {
         throw $error;
     }
 }
コード例 #3
0
ファイル: Instantiator.php プロジェクト: mrbadao/api-official
 /**
  * @param ReflectionClass $reflectionClass
  * @param string          $serializedString
  *
  * @throws UnexpectedValueException
  *
  * @return void
  */
 private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString)
 {
     try {
         unserialize($serializedString);
     } catch (Exception $exception) {
         restore_error_handler();
         throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
     }
 }