Все Cold Fusion разработчики используют #, т.к. невозможно написать CF код без них. Но большинство разработчиков слишком часто используют # там, где это не обязательно.
ColdFusion использует #, чтобы отделить тот участок текста, который нужно обработать. Этим участком текста может быть переменная или вызываемая функция. Обрабатывая текст, ColdFusion игнорирует тот текст, который не отделен символами #. По сути единственное место, где нужны # - это блоки текста с переменными и функциями.
Давайте посмотрим на несколько примеров:
Здесь "name" - переменная, которая используется внури блока с текстом. Символ # показывает какой участок текста обрабатывать, а какой оставить как есть.
Вот еще пример:
В этом примере аттрибут TO тега CFMAIL обозначен переменной. Символ # также необходим для использования внутри строки. Естественно, что такие аттрибуты как почтовые адреса всегда должны быть указаны как строки, поэтому должен использоваться символ #.
Чтобы понять это, посмотрите на два примера кода ниже. Вот первый:
и вот второй:
<cfset FirstName="Иван"> <cfset LastName="Сидоров"> <cfset FullName="#FirstName# #LastName#">
Эти два участка кода осуществляют одну и ту же операцию, т.е. создают переменную FullName, которая содержит текст "Иван Сидоров".
Первый пример объединяет три элемента: две переменные и строку. Переменные внутри тега <cfset> ColdFusion распознаются не зависимо от того, были ли они окружены знаком # или нет. Поэтому символ # вокруг FirstName и LastName не обязателен.
Второй пример создает переменную FullName, используя строку со вставленными в нее переменными. Поскольку переменные FirstName и LastName находятся внутри строки, то знак # необходим.
Итак, правило гласит:Конечно, вы можете сказать, что CF код <cfset #var#="value"> также работает без проблем. Так в чем же разница?
А разница заключается в том, что будущие версии ColdFusion будут более требовательны к использованию #, т.к. могут быть представлены новые возможности. Ранние версии ColdFusion были менее требовательны к использованию #, что могло привести к случайным ошибкам. Правильное использование # сейчас послужит большей совместимости с вашими приложениями в будущем.
© 2002-2005 г. Вадим Пушкарев