а если бы во всех штатных компонентах, да и в ядре не использовались бы стaтические методы - это жалкое подобие ооп,
а везде вначале создавался объект, тот же СiblockElement например и с ним шла работа
И
лежал бы гденить каталог, в котором КАЖДЫЙ класс типа
class СiblockElement extends system_CIblockElement { // пустышка} |
т.е. все классы наследовались бы от системных классов(которые менять нельзя - часть ядра),
а сам этот каталог чтобы НЕ ЯВЛЯЛСЯ ЧАСТЬЮ ЯДРА, (ну или не каталог, а 1 файл со списком всех классов -пустышек - не суть как организовать )
т.е. если мне нужно переопределить какие методы в СiblockElement то я в нём бы переопределил, или добавил свои методы, и во всём ядре, во всех компонентах это бы работало
тут конечно нужно потходить с умом, чтобы при обновлении допустим структура бд может поменять или ещё что ... но в целом, была бы сама ВОЗМОЖНОСТЬ это делать...
очень часто помогла бы я думаю
как думаете?