diff options
author | Andrew Dolgov <[email protected]> | 2022-11-23 21:14:33 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2022-11-23 21:14:33 +0300 |
commit | 0c8af4992cb0f7589dcafaad65ada12753c64594 (patch) | |
tree | 18e83d068c3e7dd2499331de977782b382279396 /vendor/aws/aws-sdk-php/src/HasDataTrait.php |
initial
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/HasDataTrait.php')
-rw-r--r-- | vendor/aws/aws-sdk-php/src/HasDataTrait.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/HasDataTrait.php b/vendor/aws/aws-sdk-php/src/HasDataTrait.php new file mode 100644 index 0000000..5910fff --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/HasDataTrait.php @@ -0,0 +1,81 @@ +<?php +namespace Aws; + +/** + * Trait implementing ToArrayInterface, \ArrayAccess, \Countable, and + * \IteratorAggregate + */ +trait HasDataTrait +{ + /** @var array */ + private $data = []; + + /** + * @return \Traversable + */ + #[\ReturnTypeWillChange] + public function getIterator() + { + return new \ArrayIterator($this->data); + } + + /** + * This method returns a reference to the variable to allow for indirect + * array modification (e.g., $foo['bar']['baz'] = 'qux'). + * + * @param $offset + * + * @return mixed|null + */ + #[\ReturnTypeWillChange] + public function & offsetGet($offset) + { + if (isset($this->data[$offset])) { + return $this->data[$offset]; + } + + $value = null; + return $value; + } + + /** + * @return void + */ + #[\ReturnTypeWillChange] + public function offsetSet($offset, $value) + { + $this->data[$offset] = $value; + } + + /** + * @return bool + */ + #[\ReturnTypeWillChange] + public function offsetExists($offset) + { + return isset($this->data[$offset]); + } + + /** + * @return void + */ + #[\ReturnTypeWillChange] + public function offsetUnset($offset) + { + unset($this->data[$offset]); + } + + public function toArray() + { + return $this->data; + } + + /** + * @return int + */ + #[\ReturnTypeWillChange] + public function count() + { + return count($this->data); + } +} |