- Кратко о главном в релизе Laravel 10.12
- Условный сон
- Произошло событие таймаута в работе
- Поддержка встроенных вложений для почтовых файлов Markdown
- HTTP-сообщение о недопустимом методе
- Метод элоквента
forceCreateQuietly()
- Добавление параметров в правило проверки временных зон
- Примечания к релизу Laravel 10.12
Кратко о главном в релизе Laravel 10.12
Команда Laravel выпустила версию 10.12, в которой добавлены условные методы для Sleep, новое событие тайм-аута рабочего процесса, параметры проверки временных зон и многое другое.
Условный сон.
Bradie Tilley внес свой вклад в возможность добавления условий в новый класс Sleep
, представленный в Laravel 10.10:
Sleep::for(1)->second()->unless($task->completed());
Sleep::for(1)->second()->when($task->pending());
// Closures
Sleep::for(1)->second()->unless(fn () => $task->completed());
Sleep::for(1)->second()->when(fn () => $task->pending());
Произошло событие таймаута в работе.
Saeed Hosseini предложил событие JobTimedOut
, которое вызывается обработчиком очереди, когда время выполнения задания истекло:
use Illuminate\Queue\Events\JobTimedOut;
/**
* The event to listener mappings for the application.
*
* @var array<class-string, array<int, class-string>>
*/
protected $listen = [
JobTimedOut::class => [
SendJobTimedOutNotification::class,
],
];
Поддержка встроенных вложений для почтовых файлов Markdown.
Nuno Maduro внес вклад в поддержку встроенных вложений для Markdown почтовых файлов:
Этот запрос на исправление исправляет доступ к переменной
$message
в шаблоне, путем простого ленивого рендеринга разметки в тот момент, когда переменная$message
уже доступна как данные представления.
Подробности см. в Pull Request #47140.
HTTP-сообщение о недопустимом методе.
Azim Kordpour предоставил сообщение для HTTP статуса 405
("Method Not Allowed"), которое можно использовать для проверки того, что маршрут не отвечает на определенные HTTP запросы.
$this->get('/')->assertOk();
$this->post('/')->assertMethodNotAllowed();
$this->patch('/')->assertMethodNotAllowed();
$this->put('/')->assertMethodNotAllowed();
$this->delete('/')->assertMethodNotAllowed();
Метод элоквента forceCreateQuietly()
Volodya Kurshudyan внес в Eloquent метод forceCreateQuietly()
, который принудительно создает модель, не вызывая никаких событий модели:
Post::forceCreateQuietly($data);
Добавление параметров в правило проверки временных зон.
Artyom Yavdoshchuk добавил поддержку использования параметров с правилом валидации timezone
:
'timezone' // works as before
'timezone:Africa' // accepts only Africans timezones
'timezone:All' // works the same as without any parameters
'timezone:All_with_BC' // accepts timezones with Backward Compatibility (Europe/Kiev will be accepted)
'timezone:Per_country,US' // accepts only US timezones
Пример из тестовых примеров в pull request:
$v = new Validator(
$trans,
['foo' => 'australia/sydney'],
['foo' => 'Timezone:Australia']
);
$this->assertFalse($v->passes());
Примечания к релизу Laravel 10.12
Полный список новых функций и обновлений можно увидеть ниже, а также разницу между 10.11.0 и 10.12.0 на GitHub. Следующие примечания к выпуску взяты непосредственно из журнала изменений:
Добавлено в Laravel 10.12
- Добавлен
Illuminate/Queue/Events/JobTimedOut.php
(#47068) - Добавлены методы
when()
иunless()
вIlluminate/Support/Sleep
(#47114) - Добавлена поддержка встроенных вложений для почтовых файлов в формате markdown (#47140)
- Добавлен
Illuminate/Testing/Concerns/AssertsStatusCodes::assertMethodNotAllowed()
(#47169) - Добавлен метод
forceCreateQuietly
(#47162) - Добавлены параметры в правило проверки временных зон (#47171)
Исправлено в Laravel 10.12
- Исправление комбинаций singleton и api singletons
creatable
|destryoable
|only
|except
(#47098) - Не используйте пустой
key
илиsecret
дляDynamoDBClient
(#47144)
Изменено в Laravel 10.12
- Удаление сессии при удалении данных аутентификации (#47141)
- Добавлена обработка ошибок и обеспечение повторного включения ограничений foreign key в
Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints()
(#47182)
Доработано в Laravel 10.12
- Удалите неиспользуемые операторы
else
(#47161)
Перевод с английского официальных новостей Laravel:
https://laravel-news.com/laravel-10-12-0
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)