Когда следует использовать пользовательский тег в CFML? - PullRequest
3 голосов
/ 08 апреля 2011

Каковы некоторые случаи использования реализации пользовательского тега CFML (не тега CFX)?За 3 года моего опыта CF я никогда не писал.Кто-нибудь, пожалуйста, просветите меня, в каком случае / ситуации использования можно выбрать пользовательский тег вместо cfc / udf?

Ответы [ 4 ]

7 голосов
/ 08 апреля 2011

Помните, что когда-то пользовательские теги были единственным методом, доступным для расширения CFML (до версии 4) - UDF появились позже (CF 5), а CFC позже (CF MX). Они используются не так часто, как раньше, по той простой причине, что есть больше вариантов.

Пользовательские теги в основном носят процедурный характер на языке, который с ХФУ на практике становится все больше и больше ОО. Это еще одна причина, по которой они не очень распространены.

Но все же есть случаи, когда они пригодятся (но никогда не требуются) - в основном для работы интерфейса. Возможность создания начального и конечного состояний может определенно пригодиться. Простым примером может быть «обертка» для содержимого страницы, при котором открывающий тег может добавлять заголовок HTML и навигацию по странице, а закрывающий тег добавляет нижний колонтитул и завершает страницу.

Таким образом, содержание вашей страницы может быть не более чем:

<cfmodule... >
       Page Content!
</cfmodule>

Конечно, есть и другие способы сделать это, но иногда классика по-прежнему имеет ценность. ; ^)

2 голосов
/ 08 апреля 2011

Посмотрите на проект CFUniform для отличного примера использования пользовательских тегов.Пользовательские теги хороши при создании многократно используемых элементов для пользовательского интерфейса приложения.

0 голосов
/ 14 апреля 2011

С тех пор, как появились CFC, я перестал использовать пользовательские теги просто из-за накладных расходов.Они занимают слишком много времени, чтобы начать и выполнить.Но, как сказал @Jim Davis, они могут быть полезны, когда вам нужно написать тег, который будет обернут вокруг другого контента.

Но в четко определенном решении вы можете обойтись вместе со всеми.

0 голосов
/ 08 апреля 2011

Я думаю, что по большей части пользовательские теги в основном отошли на второй план, поскольку UDF, CFC и интеграция с Java (и, в меньшей степени, .NET) позволили упростить и сделать более простые способы делать подобные вещи.

Оглядываясь назад, когда я начинал в CF5, я могу вспомнить несколько примеров.Хорошим примером может быть CFX) Zip, который позволял взаимодействовать с файлами Zip до того, как он был доступен непосредственно через CF.

Единственное использование, которое я могу придумать неявно в более современном контексте, это предоставление предварительно скомпилированного кода, которыйнаписано не на Java или .NET, например, патентованные doodads, написанные на C. Хотя это довольно нишевое применение.

Честно говоря, я полагаю, что на данный момент они существуют в большей или обратной совместимости, чем что-либо еще.

...