Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
virusav 17.09.2021 09:56
Добрый день.^use[путь к классу] ^Класс::create[] или ^Класс:method[]С учетом структуры кода удобно использовать reflection, т.к. операции создания классов и вызова методов идут по определенным правилам + это сокращает код.
/lib/lib1 - класс, где определен метод создания класса через reflection /test/type1/class1 - класс, в котором надо создать class2 по относительному пути /test/type2/class2Если использовать reflection, то получается, что в lib1 передается относительный путь к class2, но относительно class1, а lib1 рассматривает этот путь относительно себя.
^use[^file:dirname[^reflection:filename[$self]]/../type2/class2.p]Можно из полного пути к class1 вырезать путь к корню веб-пространства, но в теории должен быть более простой способ.