| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | <?phpnamespace 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);    }}
 |