#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 5.0.0
• Добавлено состояние сервисов
Состояние
Для клонирования
• Добавлены методы
• Добавлены методы
• В интерфейсе
• Доработан текучий интерфейс во
• В конфигурации пакета исправлена функция сброса состояния объектов: теперь после сброса в сервисы
🎁 Yii View 5.0.0
• Добавлено состояние сервисов
View и WebView, которое сохраняется при клонировании самих сервисов (в том числе когда используются методы with*()), то есть клонированный объект будет использовать те же данные, что и исходный. Это позволяет, например, получить WebView в контроллере из контейнера с помощью DI и изменить его контекст:final class BlogController {
private WebView $view;
public function __construct (WebView $view) {
$this->view = $view->withContextPath(__DIR__.'/views');
}
}
... а затем зарегистрировать CSS в виджете:final class LastPosts extends WidgetСостояние
{
private WebView $view;
public function __construct (WebView $view) {
$this->view = $view;
}
protected function run(): string
{
...
$this->view->registerCss('.lastPosts { background: #f1f1f1; }');
...
}
}
View включает в себя: параметры, блоки, тему и язык. Состояние
WebView включает в себя: параметры, блоки, тему, язык, заголовок страницы, meta- и link-теги, JS/CSS строки и JS/CSS файлы.Для клонирования
View или WebView вместе с состоянием можно использовать метод withClearedState(), который дополнительно очищает клонированное состояние объекта:$view = $view->withClearedState();• Добавлена простая реализация интерфейса
ViewContextInterface — класс ViewContext, который принимает в конструкторе путь к контексту.• Добавлены методы
View::withContextPath() и WebView::withContextPath() позволяющие задать контекст в виде пути к папке с представлениями.• Добавлены методы
View::addToParameter() и WebView::addToParameter(), которые позволяют добавить новый элемент к параметру, являющемся массивом. Эти методы удобно использовать, например, для «хлебных крошек»:// Добавить крошки в представлении• В интерфейсе
$this->addToArrayParameter('breadcrumbs', $item1, $item2);
ViewInterface и его реализациях View и WebView мутабельный метод setPlaceholderSalt() заменён на иммутабельный withPlaceholderSalt().• В интерфейсе
ViewInterface и его реализациях View и WebView иммутабельные методы withTheme() и withLanguage() заменены на мутабельные, соответственно setTheme() и setLanguage().• Доработан текучий интерфейс во
ViewInterface, View и WebView: теперь все сеттеры (регистрация CSS/JS, удаление параметра, удаление блока и прочие) возвращают сам объект.• В конфигурации пакета исправлена функция сброса состояния объектов: теперь после сброса в сервисы
View и WebView добавляются параметры по-умолчанию.👍4
⚡️ #yiisoftYiiBulma #yiisoftWidget #yiisoftYiiWidgets #yiisoftCache #yiisoftYiiView #yiisoftView #yiisoftValidator #yiisoftFiles
Обновили версии действий
- Yii Bulma (PR)
- Yii Widget (PR)
- Yii Widgets (PR)
- Yii Caching Library (PR)
- Yii View Extension (PR)
- Yii View (PR)
- Yii Validator (PR)
- Yii Files (PR)
Обновили версии действий
actions/cache и actions/checkout до 3 в GitHub Workflows, а также подняли версию PHP в конфигурации Scrutinizer до 8.0.18 в пакетах:- Yii Bulma (PR)
- Yii Widget (PR)
- Yii Widgets (PR)
- Yii Caching Library (PR)
- Yii View Extension (PR)
- Yii View (PR)
- Yii Validator (PR)
- Yii Files (PR)
⚡️ #yiisoftRbac #yiisoftView #yiisoftYiiView #yiisoftYiiWidgets #yiisoftWidget #yiisoftYiiBulma #yiisoftYiiConsole #yiisoftRequirements #yiisoftYiiQueue #yiisoftYiiRunner #yiisoftMailer #yiisoftYiiDebugApi #yiisoftYiiQueueAmqp #yiisoftHtml #yiisoftYiiMiddleware #yiisoftValidator #yiisoftFiles #yiisoftPackageTemplate #yiisoftYiiBootstrap5 #yiisoftForm #yiisoftClassifier #yiisoftYiiDevTool
Заменили рабочие процессы на переиспользуемые из Yii GitHub Actions в пакетах:
- Yii Role-Based Access Control (PR)
- Yii View (PR)
- Yii View Extension (PR)
- Yii Widgets (PR)
- Yii Widget (PR)
- Yii Bulma (PR)
- Yii Console (PR)
- Yii Requirements Checker (PR)
- Yii Queue (PR)
- Yii Runner (PR)
- Yii Mailer Library (PR)
- Yii Debug API (PR)
- Yii Queue AMQP Driver (PR)
- Yii HTML (PR)
- Yii Middleware (PR)
- Yii Validator (PR)
- Yii Files (PR)
- Yii Package Template (PR)
- Yii Bootstrap 5 (PR)
- Yii Form (PR)
- Yii Classifier (PR)
- Yii Development Tool (PR)
Заменили рабочие процессы на переиспользуемые из Yii GitHub Actions в пакетах:
- Yii Role-Based Access Control (PR)
- Yii View (PR)
- Yii View Extension (PR)
- Yii Widgets (PR)
- Yii Widget (PR)
- Yii Bulma (PR)
- Yii Console (PR)
- Yii Requirements Checker (PR)
- Yii Queue (PR)
- Yii Runner (PR)
- Yii Mailer Library (PR)
- Yii Debug API (PR)
- Yii Queue AMQP Driver (PR)
- Yii HTML (PR)
- Yii Middleware (PR)
- Yii Validator (PR)
- Yii Files (PR)
- Yii Package Template (PR)
- Yii Bootstrap 5 (PR)
- Yii Form (PR)
- Yii Classifier (PR)
- Yii Development Tool (PR)
🔥6
⚡️ #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftHttp #yiisoftI18n #yiisoftLog #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftMailerSymfony #yiisoftMiddlewareDispatcher #yiisoftMutexPdoOracle #yiisoftMutexRedis #yiisoftRbac #yiisoftRbacDb #yiisoftRbacPhp #yiisoftRequestBodyParser #yiisoftRateLimiter #yiisoftProxy #yiisoftProfiler #yiisoftMutexPdoPgsql #yiisoftMutexPdoMysql #yiisoftMailerSwiftmailer #yiisoftHtml #yiisoftRequestModel #yiisoftRequirements #yiisoftRouter #yiisoftRouterFastroute #yiisoftSession #yiisoftStrings #yiisoftTestSupport #yiisoftTranslator #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftView #yiisoftViewTwig #yiisoftWidget #yiisoftYiiConsole
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Mailer Library (PR)
- Yii Logging Syslog Target (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Logging Library (PR)
- Yii Logging DB Target (PR)
- Yii Logging Email Target (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Middleware Dispatcher (PR)
- Yii Mutex Oracle PDO Driver (PR)
- Yii Mutex Redis Driver (PR)
- Yii Role-Based Access Control (PR)
- Yii RBAC Database (PR)
- Yii RBAC PHP File Storage (PR)
- Yii Request Body Parser (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Proxy (PR)
- Yii Profiler (PR)
- Yii Mutex PostgreSQL PDO Driver (PR)
- Yii Mutex MySQL PDO Driver (PR)
- Yii Mailer SwiftMailer Extension (PR)
- Yii HTML (PR)
- Yii Request Model (PR)
- Yii Requirements Checker (PR)
- Yii Router (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Session (PR)
- Yii Strings (PR)
- Yii Test Support (PR)
- Yii Message Translator (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii View (PR)
- Yii View Twig Renderer (PR)
- Yii Widget (PR)
- Yii Console (PR)
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Mailer Library (PR)
- Yii Logging Syslog Target (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Logging Library (PR)
- Yii Logging DB Target (PR)
- Yii Logging Email Target (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Middleware Dispatcher (PR)
- Yii Mutex Oracle PDO Driver (PR)
- Yii Mutex Redis Driver (PR)
- Yii Role-Based Access Control (PR)
- Yii RBAC Database (PR)
- Yii RBAC PHP File Storage (PR)
- Yii Request Body Parser (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Proxy (PR)
- Yii Profiler (PR)
- Yii Mutex PostgreSQL PDO Driver (PR)
- Yii Mutex MySQL PDO Driver (PR)
- Yii Mailer SwiftMailer Extension (PR)
- Yii HTML (PR)
- Yii Request Model (PR)
- Yii Requirements Checker (PR)
- Yii Router (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Session (PR)
- Yii Strings (PR)
- Yii Test Support (PR)
- Yii Message Translator (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii View (PR)
- Yii View Twig Renderer (PR)
- Yii Widget (PR)
- Yii Console (PR)
🔥4👍3
#yiisoftView #ПатчРелиз #Релиз
🎁 Yii View 5.0.1
• Добавлена поддержка
🎁 Yii View 5.0.1
• Добавлена поддержка
yiisoft/cache версии ^2.0 (PR).⚡️ #yiisoftView
В Yii View добавили новый метод
В Yii View добавили новый метод
ViewInterface::withBasePath(), который позволяет задать корневую директорию с представлениями (PR).⚡️ #yiisoftView #yiisoftProfiler
Добавили поддержку Yii Files версии
- Yii View (PR),
- Yii Profiler (PR).
Добавили поддержку Yii Files версии
^2.0 в пакетах:- Yii View (PR),
- Yii Profiler (PR).
👍1
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 6.0.0
• Добавлен иммутабельный метод
• Добавлен метод
• Переименованы методы
-
-
• Добавлена поддержка Yii Files версии
🎁 Yii View 6.0.0
• Добавлен иммутабельный метод
ViewInterface::withLocale(), устанавливающий локаль (PR).• Добавлен метод
ViewInterface::withBasePath(), который позволяет задать корневую директорию с представлениями.• Переименованы методы
ViewInterface (PR):-
setLanguage() → setLocale();-
withSourceLanguage() → withSourceLocale().• Добавлена поддержка Yii Files версии
^2.0.🔥3
⚡️ #yiisoftView
Несколько улучшений в Yii View.
• Минимальную версию PHP подняли до 8.0, в CI добавили Rector, применили предлагаемые изменения, а также в иммутабельных методах
• В CI добавили проверку транзитивных зависимостей (PR, PR).
Несколько улучшений в Yii View.
• Минимальную версию PHP подняли до 8.0, в CI добавили Rector, применили предлагаемые изменения, а также в иммутабельных методах
ViewInterface изменили тип возвращаемого значения с self на static (PR).• В CI добавили проверку транзитивных зависимостей (PR, PR).
👍3
👍2🔥1
⚡️ #yiisoftView
В Yii View обновили dev-зависимости:
-
-
В Yii View обновили dev-зависимости:
-
rector/rector подняли до ^0.15.0 (PR);-
vimeo/psalm подняли до ^4.30|^5.1 и roave/infection-static-analysis-plugin до ^1.25 (PR).👍5
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 7.0.0
• В иммутабельных методах
• Минимальная версия PHP увеличена до 8.0.
• Добавлена поддержка Yii HTML версии 3.0.
🎁 Yii View 7.0.0
• В иммутабельных методах
ViewInterface изменён тип возвращаемого значения с self на static.• Минимальная версия PHP увеличена до 8.0.
• Добавлена поддержка Yii HTML версии 3.0.
👍4
#yiisoftView #ПатчРелиз #Релиз
🎁 Yii View 7.0.1
• Добавлена поддержка
😎 Релиз подготовил Александр Макаров.
🎁 Yii View 7.0.1
• Добавлена поддержка
yiisoft/arrays версии ^3.0.😎 Релиз подготовил Александр Макаров.
👍4
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 8.0
• Добавлена поддержка
• Конфигурация пакета адаптирована к соглашению Yii об именах групп конфигураций.
😎 Релиз подготовил Сергей Предводителев.
🎁 Yii View 8.0
• Добавлена поддержка
yiisoft/cache версии ^3.0.• Конфигурация пакета адаптирована к соглашению Yii об именах групп конфигураций.
😎 Релиз подготовил Сергей Предводителев.
👍4
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 9.0
• Добавлены методы для получения локали:
• Добавлен иммутабельный метод
• Добавлены корректные типы в сигнатуре метода
• Параметры
• Добавлена возможность указать fallback-расширения для файлов шаблонов.
• Расширены возможности конфигурации: теперь через параметры можно задать рендерреры и расширение файла по умолчанию.
• Методы
• Исправлен сброс состояния объектов
• Исправлен некорректный поиск файла шаблона, содержащего в названии точку.
• Для параметра
🎁 Yii View 9.0
• Добавлены методы для получения локали:
View::getLocale() и WebView::getLocale().• Добавлен иммутабельный метод
ViewInterface::withTheme().• Добавлены корректные типы в сигнатуре метода
CachedContent::cache().• Параметры
$basePath и $eventDispatcher сделаны опциональными в конструкторах классов View и WebView.• Добавлена возможность указать fallback-расширения для файлов шаблонов.
• Расширены возможности конфигурации: теперь через параметры можно задать рендерреры и расширение файла по умолчанию.
• Методы
ViewInterface::withDefaultExtension() и ViewInterface::getDefaultExtension() помечены устаревшими в пользу withFallbackExtension() и getFallbackExtensions() соответственно.• Исправлен сброс состояния объектов
View и WebView между запросами в долгоживущих приложениях (не восстанавливались параметры по умолчанию).• Исправлен некорректный поиск файла шаблона, содержащего в названии точку.
• Для параметра
$value в методах ViewInterface::setParameter() и ViewInterface::addToParameter() указан тип mixed.👍12❤2🔥2👾2❤🔥1
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 10.0
• Изменена логика поиска шаблона представления в
1)
2)
3) Если строка начинается с
4) В остальных случаях ищем либо в контексте (если задан), либо в базовой директории.
• Удалён метод
• Исключение
🎁 Yii View 10.0
• Изменена логика поиска шаблона представления в
ViewInterface::render():1)
./path — если строка начинается c ./, то ищем в директории текущего представления, если представления нет — бросаем исключение.2)
//path — если строка начинается с //, то ищем в базовой директории.3) Если строка начинается с
/ (в *nix) или содержит : (в Windows), то используем строку как абсолютный путь.4) В остальных случаях ищем либо в контексте (если задан), либо в базовой директории.
• Удалён метод
ViewInterface::renderFile(), вместо него теперь используется ViewInterface::render().• Исключение
RuntimeException заменено на LogicException для случаев, когда ViewInterface::render() не может разобрать путь к представлению.👍10👾1
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 11.0
• В методе
• Удалены устаревшие методы
• В конфигурации пакета параметр
• Минимальная версия PHP увеличена до 8.1 и выполнен соответствующий рефакторинг.
• Улучшены psalm-типы результатов методов в классе
• Исправлено некорректное поведение при использовании пустой строки или строки "0" в качестве ключа в методах
🎁 Yii View 11.0
• В методе
ViewInterface::getParameter() добавлен variadic-параметр $default.• Удалены устаревшие методы
withDefaultExtension() и getDefaultExtension() из интерфейса ViewInterface.• В конфигурации пакета параметр
defaultExtension переименован в fallbackExtension.• Минимальная версия PHP увеличена до 8.1 и выполнен соответствующий рефакторинг.
• Улучшены psalm-типы результатов методов в классе
WebView: getLinkTags(), getCss(), getCssFiles(), getJs() и getJsFiles().• Исправлено некорректное поведение при использовании пустой строки или строки "0" в качестве ключа в методах
WebView: registerCss(), registerStyleTag(), registerCssFile(), registerJs(), registerScriptTag() и registerJsFile().4👍8
#yiisoftView #ПатчРелиз #Релиз
🎁 Yii View 11.0.1
• Зависимость
🎁 Yii View 11.0.1
• Зависимость
psr/event-dispatcher сделана опциональной.1👍7