Php. Возможно ли перегрузить оператор []?


Сегодня расскажу об интересном профессиональном методе перегрузки метода [].

Чтобы реализовать перегрузку этого метода следует обратить особое внимание на классы 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 мы можем производить любые действия, которые нам необходимо.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *