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, що запобігає поширеним помилкам у конкатенації рядків
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!