Где использовать #?

Все 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 были менее требовательны к использованию #, что могло привести к случайным ошибкам. Правильное использование # сейчас послужит большей совместимости с вашими приложениями в будущем.


Автор статьи: Бен Форта (ben@forta.com)

 


Hosted by uCoz