Ну массив можно тоже назначить какой-то переменной и все, никого не волнует, что он больше использоваться не будет - переменная же есть, память жрет. Просто вот это не так, я по-этому и озадачился. Сборщик прекрасно все видит, ну и утечками памяти это называть неверно. Вот если бы освобожденные от ссылок данные не вычищались из памяти - тут да, была бы утечка.
Нет, не пришлось, я вообще не любитель на php писать множество классов, интерфейсов и наследований. То, что выше написал - это еще цветочки, на самом деле все гараздо гибче. Не знаю как вам, но меня вполне устраивает динамика, все собирается на лету (по необходимым критериям их можно изменять) и куда надо отдается, причем каждая собранная структура может работать по разному, то есть мы можем менять поведение, либо не можем если она финальная. И кстати СРЕДА (IDE) - нам бы и не сказала, что происходит, так-как динамику она просматривать не умеет, мало-ли, что мы там сделаем.
Структура хороша тем (и только тем), что программист с первого взгляда видит, что там должно быть, что нужно передать. И только потом - какие-то программные ограничения по работе с ней. За кучкой говнокода вы потеряли главное. Хотя бы так https://phpdoc.org/docs/latest/references/phpdoc/tags/property.html