Сегодня расскажу об интересном профессиональном методе перегрузки метода [].
Чтобы реализовать перегрузку этого метода следует обратить особое внимание на классы SPL — точнее на один из них — ArrayObject.
Сложная задача решается простым действием — нам нужно наследоваться от этого класса и реализовать метод offsetSet, который как раз отвечает за реализацию оператора [].
class NewArray extends ArrayObject { public function offsetSet($inc, $value) { echo 'new ' . $value; parent::offsetSet($inc, $value); } } $array = new NewArray; $array[] = 111;
Думаю с приведенного примера предельно ясно, как работать с унаследованным методом. В методе offsetSet мы можем производить любые действия, которые нам необходимо.