public function testSerializeFailsIfNotSerializable() { $data = new NotSerializable(); try { Serializer::serialize($data); $this->fail('Expected a SerializationFailedException'); } catch (SerializationFailedException $e) { } $this->assertTrue(true, 'Exception caught'); }
/** * {@inheritdoc} */ public function set($key, $value) { KeyUtil::validate($key); $serialized = Serializer::serialize($value); try { $this->client->bucket($this->bucketName)->newBinary($key, $serialized)->store(); } catch (Exception $e) { throw WriteException::forException($e); } }
/** * {@inheritdoc} */ public function set($key, $value) { KeyUtil::validate($key); $serialized = Serializer::serialize($value); try { $this->clientSet($key, $serialized); } catch (Exception $e) { throw WriteException::forException($e); } }
private function doUpdate($key, $value) { $serialized = Serializer::serialize($value); try { $this->connection->update($this->tableName, array('meta_value' => $serialized), array('meta_key' => $key)); } catch (Exception $e) { throw WriteException::forException($e); } }
public function __construct(Collection $collection, $flags = 0) { $this->collection = $collection; if ($flags & self::NO_SERIALIZE) { if ($flags & self::SUPPORT_BINARY) { $this->serialize = function ($unserialized) { if (!is_string($unserialized)) { throw UnsupportedValueException::forValue($unserialized, $this); } return new Binary($unserialized, Binary::TYPE_GENERIC); }; $this->unserialize = function (Binary $serialized) { return $serialized->getData(); }; } else { $this->serialize = function ($unserialized) { if (!is_scalar($unserialized) && !is_array($unserialized) && null !== $unserialized) { throw UnsupportedValueException::forValue($unserialized, $this); } return $unserialized; }; $this->unserialize = function ($serialized) { return $serialized; }; } } else { if ($flags & self::SUPPORT_BINARY) { $this->serialize = function ($unserialized) { return new Binary(Serializer::serialize($unserialized), Binary::TYPE_GENERIC); }; $this->unserialize = function (Binary $serialized) { return Serializer::unserialize($serialized->getData()); }; } else { $this->serialize = function ($unserialized) { return Serializer::serialize($unserialized); }; $this->unserialize = function ($serialized) { return Serializer::unserialize($serialized); }; } } }
private function serializeValue($value) { // Serialize if we have a string and string serialization is enabled... $serializeValue = is_string($value) && !($this->flags & self::NO_SERIALIZE_STRINGS) || is_array($value) && !($this->flags & self::NO_SERIALIZE_ARRAYS) || null !== $value && !is_scalar($value) && !is_array($value); if ($serializeValue) { return Serializer::serialize($value); } // If we have an array and array serialization is disabled, serialize // its entries if necessary if (is_array($value)) { return array_map(array($this, 'serializeValue'), $value); } return $value; }