⚡️ #yiisoftView
В пакете Yii View перенесли язык и тему в состояние сервисов
Соответственно переименовали методы:
В пакете Yii View перенесли язык и тему в состояние сервисов
View
и WebView
, сохраняемое при клонировании (PR, PR).Соответственно переименовали методы:
withTheme()
→ setTheme()
withLanguage()
→ setLanguage()
👍1
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 5.0.0
• Добавлено состояние сервисов
Состояние
Для клонирования
• Добавлены методы
• Добавлены методы
• В интерфейсе
• Доработан текучий интерфейс во
• В конфигурации пакета исправлена функция сброса состояния объектов: теперь после сброса в сервисы
🎁 Yii View 5.0.0
• Добавлено состояние сервисов
View
и WebView
, которое сохраняется при клонировании самих сервисов (в том числе когда используются методы with*()
), то есть клонированный объект будет использовать те же данные, что и исходный. Это позволяет, например, получить WebView
в контроллере из контейнера с помощью DI и изменить его контекст:final class BlogController {... а затем зарегистрировать CSS в виджете:
private WebView $view;
public function __construct (WebView $view) {
$this->view = $view->withContextPath(__DIR__.'/views');
}
}
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