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

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Досліджуйте потужність нового класу 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, що запобігає поширеним помилкам у конкатенації рядків

Популярні

Logomark Logotype

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

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

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту

Logomark Logotype

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!