summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
commit26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch)
tree029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php
parent8ad216dedf017f3d6de047a25d08db3b98e16361 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Merge branch 'develop' into loic
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php')
-rw-r--r--server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php67
1 files changed, 67 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php b/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php
new file mode 100644
index 0000000..72bcfce
--- /dev/null
+++ b/server/vendor/php-opencloud/common/src/Common/ArrayAccessTrait.php
@@ -0,0 +1,67 @@
+<?php
+
+namespace OpenCloud\Common;
+
+/**
+ * Encapsulates common logic for classes which implement the SPL \ArrayAccess interface.
+ *
+ * @package OpenCloud\Common
+ */
+trait ArrayAccessTrait
+{
+ /**
+ * The internal state that this object represents
+ *
+ * @var array
+ */
+ private $internalState = [];
+
+ /**
+ * Sets an internal key with a value.
+ *
+ * @param string $offset
+ * @param mixed $value
+ */
+ public function offsetSet($offset, $value)
+ {
+ if (null === $offset) {
+ $this->internalState[] = $value;
+ } else {
+ $this->internalState[$offset] = $value;
+ }
+ }
+
+ /**
+ * Checks whether an internal key exists.
+ *
+ * @param string $offset
+ *
+ * @return bool
+ */
+ public function offsetExists($offset)
+ {
+ return isset($this->internalState[$offset]);
+ }
+
+ /**
+ * Unsets an internal key.
+ *
+ * @param string $offset
+ */
+ public function offsetUnset($offset)
+ {
+ unset($this->internalState[$offset]);
+ }
+
+ /**
+ * Retrieves an internal key.
+ *
+ * @param string $offset
+ *
+ * @return mixed|null
+ */
+ public function offsetGet($offset)
+ {
+ return $this->offsetExists($offset) ? $this->internalState[$offset] : null;
+ }
+}