Laravel 11.35 представив клас Uri, розроблений на основі бібліотеки URI від PHP League. Цей клас спрощує маніпуляцію та роботу з URI у ваших додатках на Laravel, а також пропонує зручні функції для роботи з іменованими маршрутами.
Основна функція класу Uri — створення та маніпуляція URI-строками, включаючи запити, фрагменти та шляхи:
use Illuminate\Support\Uri;
$uri = Uri::of('https://laravel-news.com')
->withPath('links')
->withQuery(['page' => 2])
->withFragment('new');
(string) $url; // https://laravel-news.com/links?page=2#new
$uri->path(); // links
$uri->scheme(); // https
$uri->port(); // null
$uri->host(); // laravel-news.com
Зверніть увагу на різницю між отриманням значення URI та його декодуванням:
Перевірка та маніпуляція параметрами запиту URI стали ще простішими в Laravel завдяки класу UriQueryString. Цей клас використовує трейти InteractsWithData, який надає безліч корисних методів для обробки рядків запиту:
use Illuminate\Support\Uri;
$uri = Uri::of("https://laravel-news.com")
->withPath("links")
->withQuery(["page" => 2, 'name' => ''])
->withFragment("new");
$uri->query()->all(); // ["page" => "2"]
$uri->query()->hasAny("page", "limit"); // true
$uri->query()->has("name"); // true
$uri->query()->has('limit'); // false
$uri->query()->missing('limit'); // true
$uri->query()->filled('page'); // true
$uri->query()->filled("name"); // false
$uri->query()->isNotFilled("name"); // true
$uri->query()->isNotFilled("page"); // false
$uri->query()->string("page", "1"); // Stringable{ value: 2 }
$uri->query()->integer("limit", 10); // 10
Досліджуйте всі корисні методи, які InteractsWithData надає для інстанцій UriQueryString, щоб впевнено працювати з даними запитів.
Клас Uri може також створювати URI з іменованого маршруту вашого додатку, відносного URL або поточного Request інстансу:
// Використання іменованого маршруту
(string) Uri::route("dashboard"); // http://laravel.test/dashboard
// Використання кореневого URL
(string) Uri::to("/dashboard"); // http://laravel.test/dashboard
// З поточного запиту
function (Request $request) {
(string) $request->uri(); // http://laravel.test/dashboard
}
З версії Laravel 11.36 клас Uri автоматично створює псевдонім у додатках Laravel, що означає, що ви можете використовувати його без імпорту Illuminate\Support\Uri.
Сподіваємося, вам сподобається використовувати Uri у ваших додатках на Laravel! Клас Uri був випущений у Laravel 11.35 у #53731. Також ознайомтеся з InteractsWithData, що надає безліч корисних методів для роботи з класом Uri, класом Fluent та класом HTTP запитів Laravel (завдяки InteractsWithInput).
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel