diff options
| author | EoleDev <root@serverpc.home> | 2016-03-09 15:37:42 +0100 |
|---|---|---|
| committer | EoleDev <root@serverpc.home> | 2016-03-09 15:37:42 +0100 |
| commit | 1d3ed3af6d57316640c143002ddf80d61e6c098a (patch) | |
| tree | 97ac49bc7ff0f16150aefee821da3557dc0d0644 /server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php | |
| parent | d69adc4f9d1f6019927de235ef84885c68e6e508 (diff) | |
| parent | 08ea5ef31abcc4e23a39a780cacb64fa27f19194 (diff) | |
Merge branch 'Evan' into develop
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php')
| -rw-r--r-- | server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php b/server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php new file mode 100644 index 0000000..4995747 --- /dev/null +++ b/server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php @@ -0,0 +1,35 @@ +<?php + +namespace OpenCloud\Common; + +/** + * Represents common functionality for populating, or "hydrating", an object with arbitrary data. + * + * @package OpenCloud\Common + */ +trait HydratorStrategyTrait +{ + /** + * Hydrates an object with set data + * + * @param array $data The data to set + * @param array $aliases Any aliases + */ + private function hydrate(array $data, array $aliases = []) + { + foreach ($data as $key => $val) { + $key = isset($aliases[$key]) ? $aliases[$key] : $key; + if (property_exists($this, $key)) { + $this->$key = $val; + } + } + } + + private function set($key, $property, array $data, callable $fn = null) + { + if (isset($data[$key]) && property_exists($this, $property)) { + $value = $fn ? call_user_func($fn, $data[$key]) : $data[$key]; + $this->$property = $value; + } + } +} |
