2012-02-24 2 views
1

Я заметил в своем развитии рамки Yii, что есть
функция для многих основных элементов HTML (CHtml имеет кнопку, ссылку и т. Д.) , а также для меню (которое можно легко заменить списком). Мой вопрос считается идеальным для использования виджетов, где я могу? Когда мне следует использовать HTML?Почему виджеты, а не HTML?

ответ

1

Иногда рамки заменяют базовый HTML своими собственными виджетами.

В случае виджетов ссылок фреймворк может делать дополнительные вещи, например, автоматически указывая class="active", если ссылка на текущую страницу, поэтому ее можно изменить по-разному.

1

Виджеты - это аккуратные обертки для их эквивалентов в формате HTML. Виджеты в Yii обычно также загружают необходимые библиотеки JavaScript. Например, CMaskedTextField в Yii содержит плагин ввода маски с jQuery, который он будет загружать вместе с виджетами. Для кодирования одного и того же эквивалента HTML/JavaScript потребуется больше строк кода.

2

Одним из самых больших преимуществ использования виджетов является автоматизация генерации кода HTML, а это означает, что код или функциональность меньше, чем меньше.

Например, в Yii у вас есть WidgetFactory (в config/main), где вы можете указать атрибуты по умолчанию для всех ваших виджетов. Изменение заводских настроек по умолчанию изменяет все виджетов вашего приложения/сайта.

Таким образом, вы имеете дело только с определенным видом, где вам может понадобиться адаптировать поведение вашего виджета.

Вы также можете взломать код Widget, чтобы приспособить генерацию кода HTML/js в соответствии с вашими потребностями.