parser

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

 

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

Строковый контекст объекта

G_Z 01.07.2010 00:49 / 01.07.2010 02:18

В версии 3.4.0 добавилась возможность узнать контекст вызова объекта и обработать различные контексты по-разному.
Однако, строкового контекста по-прежнему нет.

Хотелось бы поинтересоваться: нет ли в планах?
Возможно есть какие-то сложности, не позволившие сделать это наравне с добавленными контекстами?

Да, есть минусы: случайная выдача объекта сейчас вызовет ошибку, а при наличии строкового контекста была бы получена строка и никакой ошибки.
С другой стороны Парсер сам шаблонизатор и все инструкции погружены в текст, иметь строковое представление объекта вполне разумно.
К тому же ничего не мешает вызывать исключение, если объект не поддерживает строковый контекст, а его в нём вызывают.

Где может пригодится — прежде всего, в отладке.
Увидеть глазами внутренности просто написав $oObject — очень удобно.

Упрощение сериализации.
Если объект предназначен для хранения строк, то очень удобно получать данные объекта.

Безусловно, всё это можно делать и сейчас, но «$oObject» гораздо элегантнее, нежели «^oObject.asString[]», как «^if($hMyHash){y}{n}» много элегантнее «^if(^hMayHash._count[]){y}{n}».

  • Строковый контекст объекта, G_Z [M] 01.07.2010 00:49 / 01.07.2010 02:18