Починаючи з v12.4, ви можете автоматично перетворювати атрибути Eloquent в HTML-рядок, використовуючи кастинг AsHtmlString. У фреймворку вже є клас HtmlString, і цей кастинг поєднує його з атрибутами Eloquent, які можна використовувати за потреби:
use Illuminate\Database\Eloquent\Casts\AsHtmlString;
protected function casts(): array
{
return [
'myAttribute' => AsHtmlString::class,
];
}
// Використання кастингу автоматично робить це
$model->myAttribute; // \Illuminate\Support\HtmlString
Раніше, щоб отримати аналогічний результат, вам потрібно було або визначити власний кастинг, або створити accessor, або вручну створити екземпляр HtmlString:
protected function html(): Attribute
{
return Attribute::make(
get: fn (string $value) => str($value)->toHtmlString(),
);
}
// Використання accessor html()
$model->html; // HtmlString
// Або вручну
$myString = new HtmlString($model->myString);
$myString = str($model->myString)->toHtmlString();
Хоча AsHtmlString може бути обмеженим у використанні, він дозволяє використовувати HTML-рядки з вашої моделі під час рендерингу динамічного контенту з бази даних. Проте пам’ятайте, що екземпляри HtmlString не підлягають екрануванню в Blade, наприклад:
{{-- Увага: не підлягає екрануванню при рендерингу в шаблонах Blade! --}}
{{ $model->html }}
Можливо, є й інші специфічні випадки, де HtmlString може бути корисним кастингом — ви самі зрозумієте, коли це потрібно, але будьте обережні.
Перегляньте документацію з кастингу атрибутів для отримання деталей про те, як кастувати атрибути вашої моделі.
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!