Я заметил в своем развитии рамки Yii, что есть
функция для многих основных элементов HTML (CHtml имеет кнопку, ссылку и т. Д.) , а также для меню (которое можно легко заменить списком). Мой вопрос считается идеальным для использования виджетов, где я могу? Когда мне следует использовать HTML?Почему виджеты, а не HTML?
ответ
Иногда рамки заменяют базовый HTML своими собственными виджетами.
В случае виджетов ссылок фреймворк может делать дополнительные вещи, например, автоматически указывая class="active"
, если ссылка на текущую страницу, поэтому ее можно изменить по-разному.
Виджеты - это аккуратные обертки для их эквивалентов в формате HTML. Виджеты в Yii обычно также загружают необходимые библиотеки JavaScript. Например, CMaskedTextField в Yii содержит плагин ввода маски с jQuery, который он будет загружать вместе с виджетами. Для кодирования одного и того же эквивалента HTML/JavaScript потребуется больше строк кода.
Одним из самых больших преимуществ использования виджетов является автоматизация генерации кода HTML
, а это означает, что код или функциональность меньше, чем меньше.
Например, в Yii
у вас есть WidgetFactory
(в config/main), где вы можете указать атрибуты по умолчанию для всех ваших виджетов. Изменение заводских настроек по умолчанию изменяет все виджетов вашего приложения/сайта.
Таким образом, вы имеете дело только с определенным видом, где вам может понадобиться адаптировать поведение вашего виджета.
Вы также можете взломать код Widget
, чтобы приспособить генерацию кода HTML
/js
в соответствии с вашими потребностями.