Допоміжні функції для шифрування та дешифрування рядків у Laravel 12.18

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 12 червня, 2025
Останнє оновлення Laravel 12.18.0 приносить безліч нових функцій, від простого шифрування рядків до можливості створення пакетних завдань. Чи готові ви відкрити для себе ці захоплюючі зміни та вдосконалення? Читайте далі, щоб дізнатися про всі нововведення

Команда Laravel випустила версію v12.18.0, що включає допоміжні методи для шифрування та дешифрування рядків, обмеження на скорочення відповідей HTTP-клієнта за запитом, нову опцію команд для створення пакетних завдань та багато іншого:

# Методи Str для шифрування та дешифрування

Хрістіян Манасієв додав методи encrypt() та decrypt(), які дозволяють виконувати шифрування та дешифрування в ланцюгах рядків:

// Раніше
$encryptedToken = str('secret-api-token')
    ->pipe(fn(Stringable $str) => encrypt($str->value()))
    ->prepend('encrypted:')
    ->append(':end');
 
// Тепер
$encryptedToken = str('secret-api-token')
    ->encrypt()
    ->prepend('encrypted:')
    ->append(':end');

Деталі можна знайти у Запиті на злиття #55931. Документація по рядках тепер містить методи encrypt та decrypt для екземплярів Stringable.

# Опція команди для створення пакетних завдань

Хафез Дівадарі додав опцію --batched до команди make:job, що дозволяє створювати пакетні завдання:

php artisan make:job ProcessPodcast --batched

Ця команда генерує клас ProcessPodcast:

namespace App\Jobs;
 
use Illuminate\Bus\Batchable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;
 
class ProcessPodcast implements ShouldQueue
{
    use Batchable, Queueable;
 
    /**
     * Створити новий екземпляр завдання.
     */
    public function __construct()
    {
        //
    }
 
    /**
     * Виконати завдання.
     */
    public function handle(): void
    {
        if ($this->batch()->cancelled()) {
            // Пакет було скасовано...
 
            return;
        }
 
        //
    }
}

# Налаштування політики за допомогою PHP атрибуту

Кейлеб Уайт додав атрибут UsePolicy для налаштування політики, яка використовується з моделлю. Політики автоматично виявляються за умовчанням, але цей атрибут дозволяє вам явно вказати, якщо потрібно:

#[UsePolicy(PostPolicy::class)]
class Post extends Model {}

Атрибут UsePolicy може використовуватися для перевизначення або точного встановлення політики. Хоча цей атрибут дозволяє явно вказати політику, рекомендуємо ознайомитися з виявленням політик, щоб дізнатися, як Laravel використовує конвенції.

# Налаштування ліміту скорочення RequestException за запитом

Люк Кузміш додав можливість налаштування поведінки скорочення HTTP-клієнтських винятків за кожним запитом:

Http::truncateExceptionsAt(240)->post(/* ... */)

Деталі дивіться в документації обробки помилок HTTP-клієнта.

# Примітки до випуску

Повний список нових функцій і оновлень можна переглянути нижче, а також подивитися зміни між 12.17.0 і 12.18.0 на GitHub. Примітки до випуску взяті з changelog:

# v12.18.0