cfcomponent
Создает и определяет объект-компонент; содержит функциональность, создаваемую вами на CFML и заключенную в теги cffunction. Этот тег содержит один или несколько тегов cffunction, определяющих методы. Код в теле этого тега, за исключением тегов cffunction, выполняется при создании экземпляра компонента (как конструктор). Компоненты сохраняются в файле с расширением .cfc.
<cfcomponent>
component displayname="myComponent" output="false" { }
Справочник атрибутов
extends string
Имя родительского компонента, от которого наследуются методы и свойства.
output boolean
Указывает, может ли код конструктора компонента создавать HTML-вывод; не влияет на вывод в теле тегов cffunction компонента.
Значения:
truefalse
displayname string
Строка, отображаемая при использовании интроспекции для просмотра сведений о CFC. Она появляется в заголовке после имени компонента. Если для атрибута style задано значение document, атрибут displayname используется в качестве имени элемента службы в WSDL.
hint string
Текст, отображаемый при использовании интроспекции для просмотра сведений о CFC. Значение атрибута hint отображается под заголовком с именем компонента. Этот атрибут может быть полезен для описания назначения параметра. Если для атрибута style задано значение document, атрибут hint используется в качестве элемента документа службы в WSDL.
style string
По умолчанию: rpc
rpc
CF 7+ Указывает, использует ли CFC, применяемый для веб-служб, стиль RPC-encoded или document-literal: - rpc: стиль RPC-encoded, по умолчанию - document: стиль document-literal Если вы указываете document, необходимо также указать атрибуты namespace, serviceportname, porttypename и bindingname.
Значения:
rpcdocument
namespace string
CF 7+ Указывает пространство имен, используемое в WSDL, когда CFC применяется как веб-служба в стиле document-literal. Если этот атрибут не указан, ColdFusion MX формирует пространство имен на основе имени класса CFC. Этот атрибут применяется только при style="document".
serviceportname string
CF 7+ Указывает имя элемента порта в WSDL. Этот атрибут применяется только при style="document".
porttypename string
CF 7+ Указывает имя элемента porttype в WSDL. Этот атрибут применяется только при style="document".
bindingname string
CF 7+ Указывает имя элемента binding в WSDL. Этот атрибут применяется только при style="document".
wsdlfile string
CF 7+ Файл WSDL в правильном формате, который используется вместо WSDL, созданного ColdFusion MX. Этот атрибут применяется только при style="document".
implements string
CF 8+ Имя интерфейса или интерфейсов ColdFusion, реализуемых этим компонентом. Если компонент реализует интерфейс, он должен определить все функции интерфейса, а определения функций должны соответствовать определениям, указанным в интерфейсе. Дополнительные сведения см. в описании cfinterface. Компонент может реализовывать любое количество интерфейсов. Чтобы указать несколько интерфейсов, используйте список, разделенный запятыми, в формате interface1,interface2.
serviceaddress string
CF 8+ Указывает URL-адрес SOAP веб-службы.
initmethod string
CF 9+ Метод, вызываемый при создании экземпляра компонента в ColdFusion.
persistent boolean
CF 9+ Указывает, является ли CFC персистентным.
Значения:
truefalse
entityname string
CF 9+ Указывает имя сущности. Имя сущности используется связанными с ORM функциями для работы с персистентным CFC. Если entityname не указан, в качестве entityname используется имя CFC. Имя entityname должно быть уникальным в приложении.
table string
CF 9+ Указывает имя таблицы базы данных, с которой сопоставляется CFC.
schema string
CF 9+ Используется для указания имени схемы.
catalog string
CF 9+ Используется для указания имени каталога базы данных.
dynamicinsert boolean
По умолчанию: false
false
CF 9+ Указывает, следует ли создавать SQL-запрос INSERT во время выполнения. В SQL включаются только столбцы, значения которых не равны null.
Значения:
truefalse
dynamicupdate boolean
По умолчанию: false
false
CF 9+ Указывает, следует ли создавать SQL-запрос UPDATE во время выполнения. В SQL включаются только столбцы, значения которых не равны null.
Значения:
truefalse
readonly boolean
CF 9+ Указывает, доступна ли таблица только для чтения.
Значения:
truefalse
selectbeforeupdate boolean
CF 9+ Указывает, должен ли Hibernate всегда выполнять SQL UPDATE только при уверенности, что объект действительно изменен. Если временный объект связывается с новым сеансом с помощью update(), Hibernate выполняет дополнительный SQL SELECT, чтобы определить, действительно ли требуется UPDATE.
Значения:
truefalse
batchsize numeric
CF 9+ Целочисленное значение, указывающее количество записей, извлекаемых за один раз.
optimisticlock string
По умолчанию: version
version
CF 9+ Определяет стратегию блокировки. Возможны следующие четыре значения: none, version, dirty, all.
Значения:
nonedirtyallversion
lazy boolean
По умолчанию: true
true
CF 9+ Указывает, следует ли выполнять отложенную загрузку.
Значения:
truefalse
rowid string
CF 9+ Идентификатор строки
discriminatorColumn string
CF 9+ Используйте этот атрибут, чтобы определить столбец-дискриминатор для сопоставления наследования.
discriminatorValue string
CF 9+ Используйте этот атрибут, чтобы определить значение дискриминатора для сопоставления наследования.
joinColumn string
CF 9+ Используйте этот атрибут, чтобы определить столбец соединения для сопоставления наследования.
embedded boolean
CF 9+ Помечает CFC как встроенный. Используется, когда CFC содержит встроенный объект, который также необходимо сохранить вместе с данными родительского объекта.
Значения:
truefalse
cacheUse string
CF 9+ Используйте это значение, чтобы указать стратегию кэширования данных этого компонента во вторичном кэше.
Значения:
read-onlynonstrict-read-writeread-writetransactional
cacheName string
CF 9+ Используйте это значение, чтобы указать имя вторичного кэша.
saveMapping boolean
По умолчанию: false
false
CF 9+ Указывает, следует ли сохранять созданный файл сопоставления Hibernate на диск. Если задать значение true, файл XML сопоставления Hibernate сохраняется в том же каталоге, что и CFC, под именем "имя CFC".hbm.xml.
Значения:
truefalse
accessors boolean
CF 9+ Если задано значение false, ColdFusion ORM не создает неявные методы получения и установки значений.
Значения:
truefalse
serializable boolean
CF 9+ Указывает, можно ли сериализовать этот компонент. Если задать этому значению false, компонент и данные в областях This и Variables компонента нельзя будет сериализовать, поэтому они не будут сохраняться при репликации сеанса, а компонент будет находиться в состоянии по умолчанию.
Значения:
truefalse
attribute boolean
По умолчанию: true
true
CF 9+ Если на уровне компонента для атрибута задано значение false, неявные методы получения и установки значений отдельных свойств игнорируются.
Значения:
truefalse
mappedSuperClass boolean
По умолчанию: false
false
CF 9.0.1+ Если для неперсистентного CFC задано значение true, CFC, расширяющие этот компонент, могут наследовать свойства.
Значения:
truefalse
rest boolean
По умолчанию: false
false
CF 10+ Включает или отключает REST. Для включения REST необходимо указать restPath.
Значения:
truefalse
restPath string
CF 10+ Путь для доступа к REST API
Значения:
truefalse
httpMethod string
CF 10+
Значения:
GETPOSTPUTDELETEHEADOPTIONS
produces string
По умолчанию: /
/
CF 10+ Список допустимых MIME-типов выходных данных, разделенный запятыми
Значения:
text/plain,text/html...
consumes string
По умолчанию: /
/
CF 10+ Список допустимых MIME-типов входных данных, разделенный запятыми
Значения:
text/plain,text/html...
indexable boolean
По умолчанию: false
false
CF 10+ Включает или отключает индексирование компонента
Значения:
truefalse
indexLanguage string
По умолчанию: english
english
CF 10+ Задает язык для индексирования и поиска
autoIndex boolean
По умолчанию: true
true
CF 10+ Включает или отключает автоматическое индексирование
Значения:
truefalse
wsVersion numeric
CF 10+ Задает wsVersion ядра Axis
Значения:
12
invokeImplicitAccessor boolean
По умолчанию: false
false
CF 2016+ Получение и установка свойств компонента с помощью методов получения и установки, определенных в компоненте
Значения:
truefalse
Совместимость
ColdFusion:
Версия 6+ Добавлены CFC, в том числе поддержка веб-служб SOAP. В CF9+ добавлена поддержка Hibernate ORM и CFC на основе скриптов. В CF10+ добавлены службы REST. В CF2016+ добавлен invokeImplicitAccessor.
BoxLang:
Версия 1.0.0+ В BoxLang нет классов на основе тегов.
Ссылки дополнительная информация о cfcomponent
- Руководство по объектно-ориентированному программированию — курс Learn CF In a Week
- Изучение ORM в ColdFusion 9 — запись в блоге Бена Надела об ORM, или объектно-реляционном отображении.
- Книга по ORM в ColdFusion — обязательная книга для тех, кто планирует использовать ORM / Hibernate в CFML
- Неявная нотация CFC — документация ACF по использованию неявных методов доступа
Примеры Пример кода с использованием тега cfcomponent
CF 9+
component displayname="Script Widget" output="false" {
// functions and properties here
} <cfcomponent displayname="Tag Widget" output="false">
<!--- functions and other values here --->
</cfcomponent>
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/cfcomponent