Хроники Yii3
625 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://yangx.top/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #yiisoftYiiBootstrap5

Исправлена ошибка в пакете Yii Bootstrap 5: не добавлялись необходимые классы к активным элементам со ссылкой / в виджете Nav (PR).
⚡️ #yiisoftYiiBootstrap5

В пакете Yii Bootstrap 5 добавили новый виджет Offcanvas и сделали много доработок (PR).

Виджет Alert

- Добавлена возможность задать шапку для алерта (методы header(), headerTag() и headerOptions()).
- Добавлена возможность включить/отключить экранирование содержимого (метод encode()).
- Добавлены методы, устанавливающие тип алерта: primary(), secondary(), success(), danger(), warning(), info(), light(), dark().
- Добавлена возможность включить/отключить анимацию скрытия алерта (метод fade()).
- Добавлен метод addClassNames() для установки имён классов.
- Добавлен метод closeButtonTag(), задающий тег кнопки, закрывающей алерт.
- Метод renderCloseButton() сделан публичным.

Виджет Modal

-
Добавлены константы для всех размеров: SIZE_SMALL, SIZE_DEFAULT, SIZE_LARGE, SIZE_EXTRA_LARGE.
- Добавлен метод fullscreen() и константы FULLSCREEN_ALWAYS, FULLSCREEN_BELOW_SM, FULLSCREEN_BELOW_MD, FULLSCREEN_BELOW_LG, FULLSCREEN_BELOW_XL, FULLSCREEN_BELOW_XXL.
- Переопределён метод getId(): если есть, то возвращается ID из опций, в противном случае генерируется ID с суффиксом -modal.
- Добавлен метод getTitleId(), возвращающий идентификатора блока TItle.
- Добавлена возможность указать атрибуты для блоков Content (contentOptions()) и Dialog (dialogOptions()).
- Добавлена возможность включить/отключить анимацию (метод fade()).
- Добавлены методы для включения/отключения статического фона (staticBackdrop()), прокрутки длинного содержимого (scrollable()) и центрирования по вертикали (centered()).
- Добавлена возможность указать тег для блоков Title, CloseButton, ToggleButton, Footer, Header и Body.
- Для блоков Title, CloseButton и Footer добавлена возможность отдельно указать — экранировать или нет содержимое.
- Разрешены пустые заголовок (title) и подвал (footer).

Виджет NavBar

- Переопределён метод getId(): если есть, то возвращается ID из опций, в противном случае генерируется ID с суффиксом -navbar.
- Добавлен метод expandSize() и константы EXPAND_SM, EXPAND_MD, EXPAND_LG, EXPAND_XL, EXPAND_XXL.
- Добавлена возможность указать атрибуты для блока BrandImage (метод brandImageAttributes()).
- Добавлена возможность указать тему (методы theme(), light(), dark()) и константы THEME_LIGHT, THEME_DARK.
- Добавлена поддержка компонента Offcanvas (метод offcanvas()).
- Для блоков Brand и Toggle Button добавлена возможность отдельно указать — экранировать или нет содержимое.

Виджет Tabs

- Исправлено: в методе getId() не учитывался префикс.
🔥5
⚡️ #yiisoftYiiBootstrap5

Ещё несколько улучшений в Yii Bootstrap 5 в виджетах Alert, Offcanvas и Accordion (PR).
⚡️ #yiisoftYiiBootstrap5

В пакете Yii Bootstrap 5 у виджета Accordion добавлена поддержка Stringable-объектов для содержимого элементов аккордеона (PR).
⚡️ #yiisoftYiiBootstrap5

Улучшили пример использования виджета NavBar в пакете Yii Bootstrap 5 (PR).
⚡️ #yiisoftForm #yiisoftYiiBulma #yiisoftYiiBootstrap5 #yiisoftDemo

Закончили большой рефакторинг пакета Yii Form (PR):

• Явно выделили фабрику для создания полей, которая позволяет применять ко всем полям общую конфигурацию.

• Сделали хелпер Field со статическими методами для создания полей форм и возможностью одновременно использовать в приложении несколько общих конфигураций для полей.

Адаптировали к этим изменениям демо веб-приложения (PR) и конфигурации в пакетах Yii Bulma (PR) и Yii Bootstrap 5 (PR).
👍2
⚡️ #yiisoftYiiDebugViewer #yiisoftYiiBulma #yiisoftYiiCaptcha #yiisoftYiiBootstrap5

Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:

- Yii Debug Viewer (PR)
- Yii Bulma (PR)
- Yii Captcha Widget (PR)
- Yii Bootstrap 5 (PR)
⚡️ #yiisoftYiiBootstrap5

В Yii Bootstrap 5 уровень psalm повышен до 2 (PR).
👍2
⚡️ #yiisoftYiiBootstrap5

Несколько улучшений в Yii Bootstrap 5.

• В CI пакета добавили проверку транзитивных зависимостей и явно прописали найденные (PR).

• В CI пакета добавили Rector и применили предлагаемые изменения (PR).
👍5
⚡️ #yiisoftForm #yiisoftYiiBootstrap5 #yiisoftYiiDataview

Подняли минимальную версию зависимости yiisoft/html до ^3.0 и адаптировали к ней код в пакетах:
- Yii Form (PR),
- Yii Bootstrap 5 (PR),
- Yii Data Widgets (PR).
👍3
#yiisoftYiiBootstrap5 #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Bootstrap 5 1.0.0

Первый стабильный релиз пакета с виджетами для Bootstrap 5:

• Accordion
• Alert
• Breadcrumbs
• Button
• Button Group
• Button Toolbar
• Carousel
• Collapse
• Dropdown
• Modal
• Nav
• NavBar
• Offcanvas
• Progress
• Progress Stack
• Toast

Пример виджета:

echo Carousel::widget()
->id('carouselExampleOnlyText')
->items(
CarouselItem::to(
Div::tag()
->addClass('bg-primary text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 1'),
P::tag()->content('This is the first slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-success text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 2'),
P::tag()->content('This is the second slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-danger text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 3'),
P::tag()->content('This is the third slide with text.'),
),
),
);
👍15🔥11👾1