diff options
| author | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2016-03-15 16:17:39 +0100 |
|---|---|---|
| committer | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2016-03-15 16:17:39 +0100 |
| commit | 26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch) | |
| tree | 029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php | |
| parent | 8ad216dedf017f3d6de047a25d08db3b98e16361 (diff) | |
| parent | 03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff) | |
Merge branch 'develop' into loic
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; + } + } +} |
