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

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

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

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

В пакете Yii Form у полей для части шаблона {input} (сам элемент формы) добавлен тег-контейнер (PR).

Это полезно при использовании некоторых CSS-фреймворков, например, Bulma:

<div class="field">
<label class="label">Name</label>
<div class="control"> // <-- Начало контейнера
<input class="input" type="text" placeholder="Text input">
</div> // <-- Конец контейнера
</div>
👍2
⚡️ #yiisoftForm

Несколько улучшений в Yii Form:

• изменили тип данных, передаваемых в FormModel::load() с array на array|object|null, так как данные именно такого типа возвращает метод Psr\Http\Message\ServerRequestInterface::getParsedBody(), который чаще всего используется для заполнения формы (PR);

• добавили возможность указать специальные классы для элементов форм, которые будут добавляться в случае успешной/не успешной валидации поля (PR);

• в документации актуализировали статью «Создание форм» (PR).
👍3
⚡️ #yiisoftValidator

Сделали важный рефакторинг в Yii Validator, разделив правила на собственно само правило и обработчик правила (PR).

Такой подход позволит автоматически разрешать зависимости обработчика правила (например, правило, которому для проверки требуется подключение к БД).

#yiisoftForm #yiisoftRequestModel #yiisoftYiiMiddleware #yiisoftYiiDebugApi #yiisoftDemoApi

Адаптировали к изменениям в валидаторе пакеты и приложения:

- Yii Form (PR)
- Yii Request Model (PR)
- Yii Middleware (PR)
- Yii Debug API (PR)
- Демо API-приложения (PR)
⚡️ #yiisoftForm

Несколько улучшений и исправлений в Yii Form.

• Если у правила валидации поля задана опция when, то теперь такое правило не будет использоваться для автоматического добавления атрибутов к элементам форм (PR).

• У полей с полями для ввода добавлены методы inputContainerClass() и addInputContainerClass() (PR).

• Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку (PR).
⚡️ #yiisoftForm

В пакете Yii Form поле File теперь не выводит значение (всегда null), но при необходимости его можно задать с помощью метода value() (PR).
⚡️ #yiisoftForm

В документации Yii Form исправили ошибки в примерах (PR).
⚡️ #yiisoftForm

В модели формы FormModel из пакета Yii Form решили проблему с невозможностью установить значение null для nullable-атрибута (PR).
👍6
⚡️ #yiisoftForm

Адаптировали Yii Form к последним изменениям в Yii Validator и Yii HTML (PR, PR).
👏3
⚡️ #yiisoftForm

Небольшой рефакторинг в Yii Form: приватное свойство attributes в модели формы FormModel переименовано в attributeTypes (PR).
👍3
⚡️ #yiisoftForm

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

- Вместо использования метода Rule::getOptions() для получения опций используются соответствующие геттеры правила, например, HasLength::getMin() или Regex::getPattern() (PR).

- Для методов button(), resetButton() и submitButton() класса Field в качестве первого аргумента добавлен ?string $content = null, что позволит вместо Field::submitButton()->content('Create'); использовать более простой код Field::submitButton('Create'); (PR).
🔥1
⚡️ #yiisoftForm #yiisoftDemoApi

В модели формы Yii Form добавили возможность использовать атрибуты валидатора для указания правил валидации (PR).

Демо API-приложения адаптировали к этим изменениям (PR).
👍4
⚡️ #yiisoftForm

Yii Form адаптировали к последним изменениям в валидаторе, сейчас код для сбора правил из атрибутов в модели формы происходит в самой форме (PR).
🔥3
⚡️ #yiisoftForm

Адаптировали Yii Form к последним изменениям в валидаторе (PR).
👍4
⚡️ #yiisoftValidator #yiisoftDemo #yiisoftYiiMiddleware #yiisoftRequestModel #yiisoftForm #yiisoftYiiDebug #yiisoftYiiGii

Несколько обновлений в Yii Validator.

• Добавили возможность переводить названия атрибутов (PR).

• В правиле Required к сообщениям добавили параметр "attribute" (PR).

• Перенесли классы (PR):
RulesDumperYiisoft\Validator\Helper
RuleHandlerContainer
Yiisoft\Validator\RuleHandlerResolver
SimpleRuleHandlerContainer
Yiisoft\Validator\RuleHandlerResolver

К последним изменениям адаптировали:
- Демо приложений (PR),
- Yii Middleware (PR),
- Yii Request Model (PR),
- Yii Form (PR),
- Yii Debug (PR),
- Gii (PR).
👍5
⚡️ #yiisoftForm #yiisoftYiiBootstrap5 #yiisoftYiiDataview

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

🎁 Yii Form 1.0

Пакет содержит набор виджетов для генерации HTML-кода полей форм с поддержкой тем (из коробки поддерживается Bootstrap 5).

Пример использования:

use Yiisoft\Form\PureField\Field;

echo Field::text('firstName', theme: 'horizontal')
->label('First Name')
->autofocus();
echo Field::text('lastName', theme: 'horizontal')
->label('Last Name');
echo Field::select('sex')
->label('Sex')
->optionsData(['m' => 'Male', 'f' => 'Female'])
->prompt('—');
echo Field::number('age')
->label('Age')
->hint('Please enter your age.');
echo Field::submitButton('Submit')
->buttonClass('primary');
3👍141
#yiisoftForm #МинорныйРелиз #Релиз

🎁 Yii Form 1.1

• Добавлена поддержка типизированных перечислений в качестве значений поля Select.
11👍5
#yiisoftForm #МинорныйРелиз #Релиз

🎁 Yii Form 1.2

• Добавлен метод Checkbox::labelPlacement(), позволяющий задать место расположения названия поля:
- в соответствии с шаблоном поля;
- обернуть чекбокс в тег <label> (по умолчанию);
- сбоку от чекбокса.

• Метод Checkbox::enclosedByLabel() помечен как устаревший.
👍7👾21
#yiisoftForm #МинорныйРелиз #Релиз

🎁 Yii Form 1.3

• В виджете CheckboxList добавлены методы:
- checkboxWrapTag(),
- checkboxWrapAttributes(),
- checkboxWrapClass(),
- addCheckboxWrapClass(),
- checkboxLabelWrap().

• В виджете RadioList добавлены методы:
- radioWrapTag(),
- radioWrapAttributes(),
- radioWrapClass(),
- addRadioWrapClass(),
- radioLabelWrap().

• Улучшена HTML верстка виджетов CheckboxList и RadioList в темах Bootstrap 5.
1👍71👾1
#yiisoftForm #МинорныйРелиз #Релиз

🎁 Yii Form 1.4

• Доработано оформления поля Checkbox в теме "Bootstrap 5 Horizontal".

• При выводе поля Hidden игнорируется любой HTML, кроме самого тега <input>.

• Область видимости полей $beforeInput и $afterInput в классе PartsFeild изменена на protected.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.
👍3👾2