diff options
Diffstat (limited to 'vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php')
-rw-r--r-- | vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php deleted file mode 100644 index 4f4ab2a..0000000 --- a/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * Zend Framework (http://framework.zend.com/) - * - * @link http://github.com/zendframework/zf2 for the canonical source repository - * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ - -namespace Zend\Stdlib\Hydrator; - -use Zend\Stdlib\Exception; - -class ArraySerializable extends AbstractHydrator -{ - /** - * Extract values from the provided object - * - * Extracts values via the object's getArrayCopy() method. - * - * @param object $object - * @return array - * @throws Exception\BadMethodCallException for an $object not implementing getArrayCopy() - */ - public function extract($object) - { - if (!is_callable(array($object, 'getArrayCopy'))) { - throw new Exception\BadMethodCallException( - sprintf('%s expects the provided object to implement getArrayCopy()', __METHOD__) - ); - } - - $data = $object->getArrayCopy(); - $filter = $this->getFilter(); - - foreach ($data as $name => $value) { - if (!$filter->filter($name)) { - unset($data[$name]); - continue; - } - $extractedName = $this->extractName($name, $object); - // replace the original key with extracted, if differ - if ($extractedName !== $name) { - unset($data[$name]); - $name = $extractedName; - } - $data[$name] = $this->extractValue($name, $value, $object); - } - - return $data; - } - - /** - * Hydrate an object - * - * Hydrates an object by passing $data to either its exchangeArray() or - * populate() method. - * - * @param array $data - * @param object $object - * @return object - * @throws Exception\BadMethodCallException for an $object not implementing exchangeArray() or populate() - */ - public function hydrate(array $data, $object) - { - $replacement = array(); - foreach ($data as $key => $value) { - $name = $this->hydrateName($key, $data); - $replacement[$name] = $this->hydrateValue($name, $value, $data); - } - - if (is_callable(array($object, 'exchangeArray'))) { - $object->exchangeArray($replacement); - } elseif (is_callable(array($object, 'populate'))) { - $object->populate($replacement); - } else { - throw new Exception\BadMethodCallException( - sprintf('%s expects the provided object to implement exchangeArray() or populate()', __METHOD__) - ); - } - return $object; - } -} |