You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Уже надоело смотреть, как половина всего кода содержит подключение нужного модуля. Нужно изучить вопрос, возможно ли выполнить автозагрузку модуля и если да, то реализовать.
The text was updated successfully, but these errors were encountered:
По-моему это реально только если знать какие классы есть в модуле, но собирать их программно будет как-то накладно. Но если это сделать остается сделать свой автозагрузчик который на самом деле не будет подгружать классы, зато будет подгружать модуль и передавать управление следующему автозагрузчику (по идее Битриксовый сам подтянет этот класс если мы подключили модуль)
При автозагрузке у нас есть только одно основание для поиска модуля - это полное имя класса. В случае с d7 по спецификации первым должно быть имя вендора, потом имя модуля, а потом уже все остальное, поэтому со встроенными модулями вроде не должно возникнуть проблем.
А вот в случае со старым ядром, возможно не все классы следуют правилам именования, но большинство основных - должны (CIBlock_, CSale_, CCatalog* и пр)
Может вообще на это забить?) Не такая уж это и большая проблема на самом деле ... с развитием d7, я думаю, эта проблема вообще отпадет
[offtop]Меня терзают большие сомнения что старые классы вообще уйдут или уйдут в обозримом будущем, потому что сейчас D7 применяется для "прямо" работы с БД не сохраняя связанность объектов системы. При этом это не то чтобы недоработка текущей D7, просто в том виде в котором мы сейчас иногда работаем с D7 уже нельзя будет работать с полноценной. Т.е. когда выйдет "полноценная" D7 текущий код на D7 возможно будет работать с неприятными глюками :)[/offtop]
Касательно автозагрузки я думаю полу-решение в виде определения по имени старого класс C будет полезно, а больше заморачиваться и не стоит
Уже надоело смотреть, как половина всего кода содержит подключение нужного модуля. Нужно изучить вопрос, возможно ли выполнить автозагрузку модуля и если да, то реализовать.
The text was updated successfully, but these errors were encountered: