так отож...Были объекты в стиле javabeans, которые конфигурировались через конфиги и передовались через цепочки, которые опять же конфигурировались через конфиги. Из-за всякой кривизны и непродуманности активно использовали паттерн декоратор, в который заворачивали эти объекты, когда надо было перееопределить что-то неконфигуриромое и хак с наследованием для доступа к протектит методам.
И чем лучше такие декораторы или прокси, того же aop (и пофиг как оно реализовано, через аннотациями или через конфиги, через pecl расширение, наследование или go-aop)?
Просто если брать ксенфоро, то там имена всех созданых классов прописанные в коде виртуальные, которые являются наследниками цепочки реальных классов (базового + классы дополнений, если они есть), т.е. фактически это и есть обертки-декораторы над реальными классами.
В мадженто чуть по другому и там генерится кеш, но принцип тот-же (ну или раньше так было, сейчас может что-то и поменяли)
Вот и я о чем же...В любом случае, надо много шишек набить, чтобы сделать кучу точек входа и изменений, какой бы ты подход не юзал, всегда найдётся хотелка.
Просто знаю все косяки аоп, но вот как по другому сделать не представляю. Пересмотрел ну очень много коробочных продуктов с возможностью расширения, и везде расширение сделано значительно хуже чем в magento/xenforo