| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
MadCow 08.07.2010 17:06 / 08.07.2010 17:06
http://www.parser.ru/docs/lang/junctionclass.htmJunction (класс)Если я не ошибаюсь, в последней версии парсера у всех классов и их объектов есть системное поле CLASS_NAME
Класс предназначен для хранения кода и контекста его выполнения.
Системное поле класса: CLASS_NAME [3.2.2]Так, например, можно прочитать значение поля CLASS_NAME и у объектов и самого класса table
$объект.CLASS_NAME - хранит имя класса объекта.
$tab[^table::create{...}]
$tab.CLASS_NAME
$table:CLASS_NAMEИ, пока что, со всеми классами у меня проблем не возникало. $uData{код}а именно ссылка на ранее определенный метод одного из классов. $uData[$Класс:метод]Конечно, есть способ решить задачу проверки типа оператором is
^if($uData is "junction"){
$sClassName[junction]
}{
$sClassName[$uData.CLASS_NAME]
}Но это, на мой взгляд, не есть здорево на фоне того, что для всех остальных случаев этот древний и назойливый вопрос (определения типа переменной) получил простое и элегантное решение.