parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

По иерархии так пройти не получится...

Sumo 22.12.2014 21:32 / 22.12.2014 21:36

Фигурные скобки нужны для того, чтобы отделить переменную от окружающего текста. Это нужно, чтобы сразу после переменной поставить точку, подчеркивание или любой другой символ, который может быть именем переменной. Таких символов и ситуаций много.

Квадратные скобки нужны в том случае, если в имени переменной содержатся символы точки или двоеточия, которые в Парсере отделяют уровни иерархии объектов. Еще это удобный синтаксис, если нужно получить доступ к переменной, имя которой есть в другой переменной. Примеры: $form:[auth.name], $obj.[$name][$value], $self.[name with space][value], ^obj.[$method_name][argument].

Если в переменной лежит не идентификатор, а «путь в иерархии», то тут либо использовать process, либо разбирать строку в переменной и обходить иерархию в поиске нужного объекта. Процесс будет быстрее, а парсинг медленне, но значительно безопаснее. Но оба метода лучше использовать только при отладке. В продакшн-коде оба подхода негативно скажутся на производительности.