diff options
| author | EoleDev <root@serverpc.home> | 2016-03-09 16:17:33 +0100 |
|---|---|---|
| committer | EoleDev <root@serverpc.home> | 2016-03-09 16:17:33 +0100 |
| commit | 2b8decb81faeb7928bcbfda84c6f33a003f707fd (patch) | |
| tree | 0e491d7ae2bf91347b1cf50d2c475625d8f659b4 /server/vendor/php-opencloud/common/src/Common/HydratorStrategyTrait.php | |
| parent | b7ebe1272c1127df290535af2430622b28160bb0 (diff) | |
| parent | 03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff) | |
Maj Library
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; + } + } +} |
