Цього тижня команда Laravel презентувала версію 12.33.0, яка включає новий метод doesntContain() для Stringable, функцію об'єднання URL-параметрів у HTTP-клієнті (замість їх заміни), покращення повідомлень про помилки в BroadcastManager та інше.
Майкл Контенто додав метод doesntContain() до Stringable для забезпечення симетрії з існуючим методом contains().
$str = str('laravel-news.com');
$str->contains('laravel'); // true
$str->doesntContain('laravel'); // false
$str->doesntContain('NEWS'); // true
$str->doesntContain('NEWS', ignoreCase: true); // false
Кріс Джонс запропонував метод mergeUrlParameters() для PendingRequest, оскільки withUrlParameters замінює всі параметри. Тейлор Отвел оновив PR, щоб завжди об'єднувати параметри, а не створювати новий метод:
Http::macro('service', function () {
return Http::baseUrl('https://api.example.com')
->withUrlParameters(['version' => 'v1', 'tenant' => 'acme']);
});
// До: <12.33, `version` видаляється.
Http::service()->withUrlParameters(['tenant' => 'beta']);
// ['tenant' => 'beta']
// Після: +12.33, параметри об'єднуються.
Http::service()->withUrlParameters(['tenant' => 'beta']);
// ['version' => 'v1', 'tenant' => 'beta']
Зміна в withUrlParameters() не призводить до розриву сумісності: якщо потрібно налаштувати URL-параметри для повторно використовуваного запиту, ви можете вказати лише ті параметри, які повинні бути переписані.
Матіас Грімм запропонував зрозуміліші повідомлення про помилки, коли драйвер трансляції не може ініціалізуватися:
// До:
// TypeError: Pusher\Pusher::__construct(): Аргумент #3 ($app_id) повинен бути типу string, передано null
// Після:
// BroadcastException: Не вдалося створити транслятор для з'єднання "my-connection" з помилкою:
// Pusher\Pusher::__construct(): Аргумент #3 ($app_id) повинен бути типу string, передано null
Повний список нових функцій та оновлень ви можете знайти нижче, а також зміни між версіями 12.32.0 та 12.33.0 на GitHub. Наступні примітки взято з чек-листа:
orderByRaw з виразами — @LukeTowersStr::is*(...) — @axlonStr::apa — @balboacodesphp artisan config:cache та php artisan optimize для несеріалізованих значень — @mathiasgrimmВам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю