zend-blog-3-backend
41 строка · 952.0 Байт
1<?php
2
3namespace App\DTO;4
5use ArrayAccess;6use RuntimeException;7
8abstract class BaseObject implements ArrayAccess9{
10public function offsetExists($offset): bool11{12return isset($this->{$offset});13}14
15public function offsetGet($offset)16{17if (!property_exists($this, $offset)) {18throw new RuntimeException("Illegal property \"{$offset}\" of \\" . static::class);19}20
21return $this->{$offset};22}23
24public function offsetSet($offset, $value)25{26if (!property_exists($this, $offset)) {27throw new RuntimeException("Illegal property \"{$offset}\" of \\" . static::class);28}29
30$this->{$offset} = $value;31}32
33public function offsetUnset($offset)34{35if (!property_exists($this, $offset)) {36throw new RuntimeException("Illegal property \"{$offset}\" of \\" . static::class);37}38
39$this->{$offset} = null;40}41}
42