コード例 #1
0
 public function testCanUnserialize()
 {
     $serializer = Serializer::factory('phpserialize');
     $serializerStrategy = new SerializableStrategy($serializer);
     $serialized = $serializerStrategy->hydrate('s:3:"foo";');
     $this->assertEquals($serialized, 'foo');
 }
コード例 #2
0
 /**
  * @return SerializerAdapterInterface
  */
 public function getSerializer()
 {
     if (null === $this->serializer) {
         $this->serializer = Serializer::factory('PhpSerialize');
     }
     return $this->serializer;
 }
コード例 #3
0
 public function testFactoryOnADummyClassAdapter()
 {
     $adapters = new AdapterPluginManager();
     $adapters->setInvokableClass('dummy', 'ZendTest\\Serializer\\TestAsset\\Dummy');
     Serializer::setAdapterPluginManager($adapters);
     $this->setExpectedException('Zend\\Serializer\\Exception\\RuntimeException', 'AdapterInterface');
     Serializer::factory('dummy');
 }
コード例 #4
0
ファイル: SerializerTest.php プロジェクト: rexmac/zf2
 public function testFactoryOnADummyClassAdapter()
 {
     $this->setExpectedException('Zend\\Serializer\\Exception', 'must implement Zend\\Serializer\\Adapter');
     $broker = new AdapterBroker();
     $broker->getClassLoader()->registerPlugin('dummy', 'ZendTest\\Serializer\\TestAsset\\Dummy');
     Serializer::setAdapterBroker($broker);
     Serializer::factory('dummy');
 }
コード例 #5
0
 public function testFactoryPassesAdapterOptions()
 {
     $options = new Adapter\PythonPickleOptions(array('protocol' => 2));
     /** @var Adapter\PythonPickle $adapter  */
     $adapter = Serializer::factory('pythonpickle', $options);
     $this->assertTrue($adapter instanceof Adapter\PythonPickle);
     $this->assertEquals(2, $adapter->getOptions()->getProtocol());
 }
コード例 #6
0
 /**
  * Get serializer
  *
  * @return SerializerAdapter
  */
 public function getSerializer()
 {
     if (is_string($this->serializer)) {
         $options = $this->getSerializerOptions();
         $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
     } elseif (null === $this->serializer) {
         $this->setSerializer(SerializerFactory::getDefaultAdapter());
     }
     return $this->serializer;
 }
コード例 #7
0
 public function index01Action()
 {
     echo "<h3 style='color:red;font-weight:bold'>" . __METHOD__ . "</h3>";
     // $serializer = new \Zend\Serializer\Adapter\PhpSerialize();
     $serializer = \Zend\Serializer\Serializer::factory("PhpSerialize");
     $array = array("name" => "trongle", "age" => "23", "IQ" => 10, "handsome" => 10, "talent" => 10);
     $serialize = $serializer->serialize($array);
     echo $serialize;
     $arr = $serializer->unserialize($serialize);
     echo "<pre style='font-weight:bold'>";
     print_r($arr);
     echo "</pre>";
     return false;
 }
コード例 #8
0
 /**
  * Returns the serializer adapter.
  * 
  * @throws Exception\MissingAdapterException
  * @throws Exception\MissingOptionException
  * @return \Zend\Serializer\Adapter\AdapterInterface
  */
 public function getAdapter()
 {
     if (!$this->_adapter instanceof \Zend\Serializer\Adapter\AdapterInterface) {
         $adapterConfig = $this->_options->get('adapter');
         if (!$adapterConfig) {
             throw new Exception\MissingAdapterException();
         }
         if (!isset($adapterConfig['name'])) {
             throw new Exception\MissingOptionException('adapter/name');
         }
         $name = $adapterConfig['name'];
         $options = array();
         if (isset($adapterConfig['options']) && is_array($adapterConfig['options'])) {
             $options = $adapterConfig['options'];
         }
         $this->_adapter = \Zend\Serializer\Serializer::factory($name, $options);
     }
     return $this->_adapter;
 }
コード例 #9
0
ファイル: PluginOptions.php プロジェクト: haoyanfei/zf2
 /**
  * Get serializer
  *
  * Used by:
  * - Serializer
  *
  * @return SerializerAdapter
  */
 public function getSerializer()
 {
     if (!$this->serializer instanceof SerializerAdapter) {
         // use default serializer
         if (!$this->serializer) {
             $this->setSerializer(SerializerFactory::getDefaultAdapter());
             // instantiate by class name + serializer_options
         } else {
             $options = $this->getSerializerOptions();
             $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
         }
     }
     return $this->serializer;
 }
コード例 #10
0
ファイル: SerializerTest.php プロジェクト: heiglandreas/zf2
 public function testFactoryOnADummyClassAdapter()
 {
     $this->setExpectedException('Zend\\Serializer\\Exception', 'must implement Zend\\Serializer\\Adapter');
     Serializer::setAdapterLoader(new PluginLoader(array('ZendTest\\Serializer\\TestAsset' => __DIR__ . '/TestAsset')));
     Serializer::factory('dummy');
 }