Разница между cfc и cfm

Я пытаюсь создать в основном библиотеку UDF (определяемых пользователем функций) для веб-сайта, работающего в ColdFusion. При этом я пытаюсь выяснить, в чем разница между файлами cfc и cfm. Что было бы более полезным при создании этой библиотеки функций? Я знаю, что могу использовать

<cfinclude template="mytemplate.cfm>

чтобы включить его на страницу, но это будет каждый раз запускать все содержимое этого cfm на этой странице. Я не знаю более простого способа использовать cfc, кроме создания объекта cfc и вызова функции таким образом.

<cfobject type="component" action="create" name="test">

Любые идеи?


person jkw4703    schedule 02.04.2013    source источник
comment
Вы сначала поиском занимались? Потому что на эту тему есть много хороших тем, как на Stack Overflow, так и в различных блогах. Например, stackoverflow. ком/вопросы/624541/   -  person Leigh    schedule 02.04.2013
comment
Это тоже включает использование параметра component.cfc stackoverflow.com/a/13763078/244136   -  person Travis    schedule 03.04.2013


Ответы (2)


Я делаю это так: создаю все свои UDF в файле cfc. Затем я инициализирую этот cfc при запуске приложения:

public function onApplicationStart() {
    // Application settings
    application.util = createObject("component","cfc.util");
    return;
}
person Sollinger04    schedule 02.04.2013
comment
@ jkw4703 - Просто убедитесь, что функции не имеют состояния, а все переменные функций локализованы, чтобы избежать проблем с потоками. - person Leigh; 02.04.2013

используйте cfc, который вы можете легко вызывать из большего количества мест, если он не слишком велик, поместите его в область вашего приложения.

person matthew bourke    schedule 02.04.2013
comment
Вопрос заключался в том, использовать ли include или CFC. @matthew-bourke ответил на него. Это не лучший ответ здесь, но он отвечает на заданный вопрос. Имейте в виду, что вопрос был очень плохо исследован, поэтому на самом деле он не заслуживает ничего, кроме поверхностного ответа. - person Adam Cameron; 03.04.2013