Joo пишет:Опять не работает, для массивов, говорит "Notice: Indirect modification of overloaded property module_sale::$massiv has no effect"
Я пока пришел к такому варианту, он работает, но правильно ли это?
Дело в том что при использовании обработчика __get вы работаете не с реальными свойствами объекта а с используемыми в этой функции значениями - то есть для передачи одного возвращаемого значения по ссылке достаточно указать это в функции или в принимающем значение левом операнде При вызове же вложенных значений объектов надо явно вызывать обрабочик __get как для внутреннего так и для внешнего объекта - именно поэтому внутри обработчика внешнего объекта нужно явно получать ссылку на внутренний объект и возвращать ее
Именно поэтому работает последний вариант поскольку получается некое подобе замыкания - первая ссылка на внутренний объект создается и хранится внутри внутреннего обработчика в определенной переменной - а уже ссылка на саму нее хранится во внешнем коде