Робота з класом Uri у Laravel для вдосконалення маніпуляцій з URL

Перекладено ШІ 2 Laravel News 02 червня, 2026

Досліджуйте потужність нового класу Uri у Laravel, який змінює спосіб роботи з URL. У нашій статті ви дізнаєтеся, як цей елегантний абстрактний інтерфейс спрощує складні трансформації URL та покращує читабельність коду

Laravel пропонує потужний клас Uri, який змінює підходи до роботи з URL. Це елегантне абстрагування забезпечує інтуїтивно зрозумілий інтерфейс для операцій з URI, спрощуючи складні трансформації URL.

Основна реалізація демонструє його зрозумілий синтаксис:

$uri = Uri::of('https://laravel.com')
    ->withQuery(['name' => 'Taylor'])
    ->withPath('/docs/installation')
    ->withFragment('hello-world');
// https://laravel.com/docs/installation?name=Taylor#hello-world

Ось практичний приклад використання класу Uri у сервісі розподілу контенту:

class ContentDistribution
{
    public function createCampaignUrl(string $baseUrl, Campaign $campaign)
    {
        return Uri::of($baseUrl)
            ->withPath('/content/' . $campaign->slug)
            ->withQuery([
                'source' => $campaign->source,
                'medium' => $campaign->medium,
                'campaign' => $campaign->name,
                'token' => $this->generateToken($campaign->id)
            ]);
    }
 
    public function buildEmbeddableLinks(Media $media)
    {
        $baseUrl = config('app.media_url');
        $mediaUrl = Uri::of($baseUrl)->withPath('/embed/' . $media->uuid);
 
        return [
            'standard' => (string) $mediaUrl,
            'autoplay' => (string) $mediaUrl->withQuery(['autoplay' => 1]),
            'timestamped' => (string) $mediaUrl->withQuery([
                'start' => $media->highlight_timestamp,
                'theme' => 'dark'
            ]),
            'iframe_src' => (string) $mediaUrl->withQuery(['iframe' => 1])
        ];
    }
}

Клас Uri в Laravel значно покращує читабельність коду при роботі зі складними URL, забезпечуючи при цьому безпечніший спосіб маніпуляції URL, що запобігає поширеним помилкам у конкатенації рядків

Популярні

Інше, що варто прочитати

10 Оновлено 01 червня, 2026

Генерація документації в Laravel за допомогою штучного інтелекту

Docudoodle — це потужний пакет для генерації документації в Laravel, який допомагає легко аналізувати вашу кодову базу та створювати документацію за допомогою обраного вами AI. Чи готові ви дізнатися, як цей інструмент може спростити вашу роботу з документуванням коду? Читайте далі!

17 Оновлено 01 червня, 2026

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці

18 Оновлено 01 червня, 2026

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю