#yiisoftForm #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Form 1.0
Пакет содержит набор виджетов для генерации HTML-кода полей форм с поддержкой тем (из коробки поддерживается Bootstrap 5).
Пример использования:
🎁 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👍14❤1
#yiisoftFormModel #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Form Model 1.0
Пакет предоставляет основу для реализации моделей форм и помогает в их наполнении, валидации и отображении.
Пример формы:
Пример обработки формы:
Пример отображения формы:
🎁 Yii Form Model 1.0
Пакет предоставляет основу для реализации моделей форм и помогает в их наполнении, валидации и отображении.
Пример формы:
use Yiisoft\FormModel\Attribute\Safe;
use Yiisoft\FormModel\FormModel;
use Yiisoft\Validator\Rule\Email;
use Yiisoft\Validator\Rule\Length;
use Yiisoft\Validator\Rule\Required;
final class LoginForm extends FormModel
{
#[Label('Your login')]
#[Required]
#[Length(min: 4, max: 40, skipOnEmpty: true)]
#[Email(skipOnEmpty: true)]
private ?string $login = null;
#[Label('Your password')]
#[Required]
#[Length(min: 8, skipOnEmpty: true)]
private ?string $password = null;
#[Label('Remember me for 1 week')]
#[Safe]
private bool $rememberMe = false;
}
Пример обработки формы:
public function login(
RequestInterface $request,
FormHydrator $formHydrator
): ResponseInterface
{
$formModel = new LoginForm();
if ($formHydrator->populateFromPostAndValidate($formModel, $request)) {
$errors = $formModel->getValidationResult()->getErrorMessagesIndexedByProperty();
}
// You can pass $formModel and $errors to the view now.
}
Пример отображения формы:
use Yiisoft\FormModel\Field;
use Yiisoft\FormModel\FormModel;
echo Field::text($formModel, 'login');
echo Field::password($formModel, 'password');
echo Field::checkbox($formModel, 'rememberMe');
20🔥13👍5🎉2
#yiisoftNetworkUtilities #МинорныйРелиз #Релиз
🎁 Yii Network Utilities 1.2
• В
• В
• В
🎁 Yii Network Utilities 1.2
• В
IpHelper
добавлены константы IP_PATTERN
и IP_REGEXP
для проверки IP обеих версий (IPv4 и IPv6).• В
IpRanges
добавлена константа NEGATION_CHARACTER
, используемая для определения диапазонов методом исключения.• В
IpHelper
добавили методы: isIpv4()
, isIpv6()
, isIp()
.32👍4
#yiisoftMiddleware #ПатчРелиз #Релиз
🎁 Yii Middleware 1.0.4
• Добавлен пакет
• Добавлена поддержка для
🎁 Yii Middleware 1.0.4
• Добавлен пакет
yiisoft/network-utilities
в качестве зависимости и использован вместо пакета yiisoft/validator
для фильтра IpFilter
.• Добавлена поддержка для
yiisoft/validator
версий ^2.0
, зависимость помечена как deprecated.10👍4
#yiisoftSwagger #МинорныйРелиз #Релиз
🎁 Yii Swagger 2.1
• Добавлена поддержка
• Требуемая версия
• Добавлены экшены
• Добавлена поддержка
🎁 Yii Swagger 2.1
• Добавлена поддержка
psr/http-message
для версий ^2.0
.• Требуемая версия
yiisoft/yii-view
обновлена до ^7.1
.• Добавлены экшены
\Yiisoft\Swagger\Action\SwaggerJson
и \Yiisoft\Swagger\Action\SwaggerUi
. Классы \Yiisoft\Swagger\Middleware\SwaggerJson
и \Yiisoft\Swagger\Middleware\SwaggerUi
помечены как deprecated. Они будут удалены в следующей мажорной версии.• Добавлена поддержка
swagger-api/swagger-ui
5й версии.51👍4🔥2
#yiisoftSwagger #ПатчРелиз #Релиз
🎁 Yii Swagger 2.1.1
• Зависимость yiisoft/yii-view заменена на yiisoft/yii-view-renderer.
🎁 Yii Swagger 2.1.1
• Зависимость yiisoft/yii-view заменена на yiisoft/yii-view-renderer.
7👍4🔥3
#yiisoftValidator #МинорныйРелиз #Релиз
🎁 Yii Validator 2.1
• Правила валидации объекта, описанные в виде PHP атрибутов теперь объединяются с правилами, заданными в методе
• Выполнен рефакторинг правила
• Добавлен метод
• Методы
🎁 Yii Validator 2.1
• Правила валидации объекта, описанные в виде PHP атрибутов теперь объединяются с правилами, заданными в методе
getRules()
при реализации интерфейса RulesProviderInterface
.• Выполнен рефакторинг правила
Ip
с более плотным использованием пакета yiisoft/network-utilities
.• Добавлен метод
Ip::getIpRanges()
.• Методы
Ip::getRanges()
, Ip::getNetworks()
и Ip::isAllowed()
помечены устаревшими и будут удалены в следующем мажорном релизе.7🔥5🎉3
#yiisoftFormModel #ПатчРелиз #Релиз
🎁 Yii Form Model 1.0.1
• Пакет адаптирован к изменениям в последней версии валидатора. В модели формы разрешено наполнять только те поля, где есть правила валидации. Теперь правила валидации считываются одновременно и с PHP-атрибутов и из метода
🎁 Yii Form Model 1.0.1
• Пакет адаптирован к изменениям в последней версии валидатора. В модели формы разрешено наполнять только те поля, где есть правила валидации. Теперь правила валидации считываются одновременно и с PHP-атрибутов и из метода
getRules()
.1🔥6❤1
🔥 #yiisoftActiveRecord #News
В пакете
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Переименование сделано, чтобы в будущем избежать путаницы с PHP атрибутами #[Attribute].
В пакете
yiisoft/active-record
методы класса, содержащие слово attribute
, были переименованы.-
attributes()
-> propertyNames()
-
hasAttribute()
-> hasProperty()
-
getAttribute()
-> get()
-
getAttributes()
-> propertyValues()
-
getAttributesInternal()
-> propertyValuesInternal()
-
getOldAttribute()
-> oldValue()
-
getOldAttributes()
-> oldValues()
-
getDirtyAttributes()
-> dirtyValues()
-
markAttributeDirty()
-> markPropertyDirty()
-
isAttributeChanged()
-> isPropertyChanged()
-
setAttribute()
-> set()
-
setAttributes()
-> populateProperties()
-
populateAttribute()
-> populateProperty()
-
setOldAttribute()
-> assignOldValue()
-
setOldAttributes()
-> assignOldValues()
-
updateAttributes()
-> updateProperties()
Переименование сделано, чтобы в будущем избежать путаницы с PHP атрибутами #[Attribute].
👍14❤3🔥2
#yiisoftHydrator #МинорныйРелиз #Релиз
🎁 Yii Hydrator 1.5
• Добавлен тайпкастер
• Исправлена ошибка с заполнением свойств только для чтения из родительских классов.
🎁 Yii Hydrator 1.5
• Добавлен тайпкастер
EnumTypeCaster
, позволяющий приводить значение к перечислению. Например, приведение строки draft
к перечислению Status::DRAFT
.• Исправлена ошибка с заполнением свойств только для чтения из родительских классов.
11👍8
#yiisoftHtml #МинорныйРелиз #Релиз
🎁 Yii HTML 3.7
• В теге
• В теге
🎁 Yii HTML 3.7
• В теге
Script
добавлен методы nonce()
и getNonce()
для более удобной реализации CSP.• В теге
Select
добавлена поддержка типизированных перечислений в качестве значения.8👍4🏆2❤1
#yiisoftForm #МинорныйРелиз #Релиз
🎁 Yii Form 1.1
• Добавлена поддержка типизированных перечислений в качестве значений поля
🎁 Yii Form 1.1
• Добавлена поддержка типизированных перечислений в качестве значений поля
Select
.11👍5
#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
#yiisoftYiiViewRenderer #yiisoftYiiView #МинорныйРелиз #Релиз
🎁 Yii View Renderer 7.2
• Добавлена поддержка Yii View версии
• Минимальная версия PHP увеличена до 8.1 и выполнен соответствующий рефакторинг.
🎁 Yii View Renderer 7.2
• Добавлена поддержка Yii View версии
^11
.• Минимальная версия PHP увеличена до 8.1 и выполнен соответствующий рефакторинг.
1👍5❤2🔥2
#yiisoftMailerView
✨ Yii Mailer View
Создан новый репозиторий
Это позволит сделать абстракцию Yii Mailer более стабильной и не зависящей ни от чего.
Создан новый репозиторий
yiisoft/mailer-view
, в который из основного пакета Yii Mailer будет вынесен функционал для генерации содержимого письма на основе шаблонов.Это позволит сделать абстракцию Yii Mailer более стабильной и не зависящей ни от чего.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥10❤3
#yiisoftView #ПатчРелиз #Релиз
🎁 Yii View 11.0.1
• Зависимость
🎁 Yii View 11.0.1
• Зависимость
psr/event-dispatcher
сделана опциональной.1👍7
#yiisoftForm #МинорныйРелиз #Релиз
🎁 Yii Form 1.2
• Добавлен метод
- в соответствии с шаблоном поля;
- обернуть чекбокс в тег
- сбоку от чекбокса.
• Метод
🎁 Yii Form 1.2
• Добавлен метод
Checkbox::labelPlacement()
, позволяющий задать место расположения названия поля:- в соответствии с шаблоном поля;
- обернуть чекбокс в тег
<label>
(по умолчанию);- сбоку от чекбокса.
• Метод
Checkbox::enclosedByLabel()
помечен как устаревший.👍7👾2❤1
#yiisoftDi #МинорныйРелиз #Релиз
🎁 Yii Dependency Injection 1.3
• Добавлен шорткод
• Улучшено использование
• Выполнен небольшой рефакторинг для улучшения производительности контейнера.
• В методах
• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
🎁 Yii Dependency Injection 1.3
• Добавлен шорткод
TagReference::to()
для тегов.• Улучшено использование
NotFoundException
для случаев с дефинишенами.• Выполнен небольшой рефакторинг для улучшения производительности контейнера.
• В методах
ContainerConfig::withStrictMode()
и ContainerConfig::withValidate()
для параметра добавлено значение по умолчанию true
.• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
👍3❤2👾2
#yiisoftMailer #МажорныйРелиз #Релиз
Существенно переработана абстракция для отправки сообщений электронной почты.
Теперь пакет ни от чего не зависит и, фактически, абстракция состоит из двух интерфейсов:
🎁 Yii Mailer 6.0
• Добавлены простые реализации мейлера
• В конфигурацию пакета добавлена настройка
• Добавлен класс
• Добавлено перечисление
• Изменён
- добавлены методы
- переименован метод
- переименован метод
- в методы
- удалены методы
- удалены методы
• Добавлен класс
• Удалены
• Переработан абстрактный класс для создания мейлеров:
- класс переименован из
- удалены методы
- финализированы методы;
- зависимости помечены как только для чтения.
• Удалены классы
• Переработаны классы событий
- удалён метод
- свойство
- в
- в
• Тип результата методов
• Добавлен класс
• Доработан текст сообщения в исключении, которое выбрасывается, когда callback для получения имени файла в
• Удалена зависимость от
• Зависимость
Существенно переработана абстракция для отправки сообщений электронной почты.
Теперь пакет ни от чего не зависит и, фактически, абстракция состоит из двух интерфейсов:
MessageInterface
(сообщение с методами для установки/получения значений) и MailerInterface
(сервис для отправки сообщений с двумя методами: send
и sendMultiple
).🎁 Yii Mailer 6.0
• Добавлены простые реализации мейлера
NullMailer
и StubMailer
.• В конфигурацию пакета добавлена настройка
FileMailer
.• Добавлен класс
HtmlToTextBodyConverter
для преобразования HTML-содержимого письма в текстовое содержимое.• Добавлено перечисление
Priority
, которое используется вместо числового значения приоритета.• Изменён
MessageInterface
:- добавлены методы
getAttachments()
, getEmbeddings()
, getHeaders()
, withAddedAttachments()
и withAddedEmbeddings()
;- переименован метод
withEmbedded()
в withEmbeddings()
;- переименован метод
withAttached()
в withAttachments()
;- в методы
withEmbeddings()
и withAttachments()
добавлено возможность передавать несколько файлов;- удалены методы
compose()
, withTemplate()
и withLocale()
;- удалены методы
getError()
и withError()
.• Добавлен класс
Messsage
, реализующий MessageInterface
.• Удалены
MessageFactoryInterface
и MessageFactory
. Вместо фабрики сообщения добавлен класс MessageSettings
, который передаётся в мейлер и позволяет донастроить сообщение перед отправкой.• Переработан абстрактный класс для создания мейлеров:
- класс переименован из
Mailer
в BaseMailer
;- удалены методы
beforeSend()
and afterSend()
;- финализированы методы;
- зависимости помечены как только для чтения.
• Удалены классы
MessageBodyRenderer
и MessageBodyTemplate
.• Переработаны классы событий
AfterSend
и BeforeSend
:- удалён метод
getMessage()
;- свойство
$message
сделано публичным и только для чтения;- в
BeforeSend
удалена реализация StoppableEventInterface
;- в
BeforeSend
добавлено свойство $preventSendingMessage
, позволяющее отменить отправку сообщения.• Тип результата методов
MessageInterface::with*
изменён с self
на static
.• Добавлен класс
SendResults
, который используется как результат выполнения метода MailerInterface::sendMultiple()
.• Доработан текст сообщения в исключении, которое выбрасывается, когда callback для получения имени файла в
FailMailer
возвращает не строковое значение. Само исключение изменено с RuntimeException
на LogicException
.• Удалена зависимость от
yiisoft/view
.• Зависимость
psr/event-dispatcher
сделана опциональной.👍5❤1😱1👀1🤝1👾1
#yiisoftMailerSymfony #МажорныйРелиз #Релиз
🎁 Yii Mailer Symfony Mailer Extension 4.0
• Пакет адаптирован к Yii Mailer 6:
- удалён класс
- в конструкторе мейлера добавлен параметр
- удалено использование
• Исправлено: для вложений не использовался ID файла.
• Изменения в конфигурации пакета:
- удалена конфигурация
- в параметрах удалён ключ
- в парамтерах ключ
• Минимальная версия PHP поднята до 8.1.
• Зависимость
🎁 Yii Mailer Symfony Mailer Extension 4.0
• Пакет адаптирован к Yii Mailer 6:
- удалён класс
Message
;- в конструкторе мейлера добавлен параметр
$messageSettings
;- удалено использование
MessageBodyRenderer
.• Исправлено: для вложений не использовался ID файла.
• Изменения в конфигурации пакета:
- удалена конфигурация
FileMailer
;- в параметрах удалён ключ
writeToFiles
;- в парамтерах ключ
symfony/mailer
изменён на yiisoft/mailer-symfony
.• Минимальная версия PHP поднята до 8.1.
• Зависимость
psr/event-dispatcher
сделана опциональной.❤3👍2👾1
❌ #yiisoftMailerView
Пакет Yii Mailer View закрыт. В процессе разработки столкнулись с тем, что в текущем виде он практически бесполезен. Возможно, в будущем интеграция Yii Mailer и Yii View будет переосмыслена и разработка возобновится.
Пакет Yii Mailer View закрыт. В процессе разработки столкнулись с тем, что в текущем виде он практически бесполезен. Возможно, в будущем интеграция Yii Mailer и Yii View будет переосмыслена и разработка возобновится.
😁4🤔2👍1😢1👾1