Зачем вам возвращать ссылку на массив, особенно в предоставленном вами коде:
public function &getContextsIds() {
return is_array($this->contextsIds) ? $this->contextsIds : array();
}
Когда эта функция будет работать, она может вернуть ссылку на пустой массив, я мог бы сделать сэто то, что я хочу, и измените его столько, сколько я хотел бы, но это не будет иметь никакого эффекта, потому что это был просто пустой массив без какой-либо дополнительной ссылки вообще.