#coldfusion
#coldfusion
Вопрос:
Цель состоит в том, чтобы разрешить определение всех функций .cfm или .cfc с использованием сценариев, а не тегов CFML.
Я хотел бы изменить это:
<cffunction name="foo" access="remote">
<cfscript>
....
</cfscript>
</cffunction>
Во что-то вроде этого:
<cfscript>
function remote foo() {
....
}
</cfscript>
Или что-то еще, если это можно сделать в открывающих и закрывающих тегах cfscript.
Ответ №1:
Невозможно в CF8, стало возможным в CF9:
доступ возвращает тип функции functionName(arg1Type arg1Name=»defaultValue1″, arg1Attribute=»AttributeValue…,arg2Type arg2Name=»defaultValue2″, arg2Attribute=»AttributeValue…,…) functionAttributeName=»AttributeValue» … { основное содержимое }
Определение компонентов и функций в CFScript
Таким образом, ваша функция будет выглядеть примерно так:
<cfscript>
remote function foo() {
...
}
<cfscript>
Комментарии:
1. Спасибо, это работает, хорошо, что я только что обновился до CF9. Я также должен был прочитать документы, так что двойное спасибо.
2. Знаете ли вы, есть ли способ полностью удалить теги script из файла, возможно, используя специальное расширение, такое как .cfcs и .cfms, которое подсказывало бы анализатору проанализировать файл как файл сценария на 100%?
3. если вы запустите cfc с: component { }, а не <cfcomponent />, все это будет основано на скрипте
Ответ №2:
Вы также могли бы сделать:
function foo() access="remote" returntype="JSON" {
Комментарии:
1. Спасибо за альтернативный метод, Сэм.
2. это интересно!!