
Transforma una URL en Laravel con la clase Uri
- Publicado el 16 enero, 2025
- Palabras: 41
Transforma la forma en la que trabajas con las URLs en Laravel con la nueva clase Uri. Esta poderosa abstracción hace que la manipulación de URL sea más intuitiva y fácil de mantener que nunca.

#Uso básico
Cree y maneje URI con una interfaz fluida:
use IlluminateSupportUri;
$uri = Uri::of('https://antoniojenaro.com')
->withQuery(['name' => 'Antonio'])
->withPath('/docs/installation')
->withFragment('hello-world');
// https://antoniojenaro.com/docs/installation?name=Antonio#hello-world
#Ejemplo práctico
A continuación se explica cómo podría usarlo en un sistema de gestión de enlaces:
class LinkManager
{
public function createTrackableLink(string $destination, array $params = [])
{
$uri = Uri::of($destination)
->withQuery(array_merge(
$params,
['utm_source' => 'newsletter', 'ref' => uniqid()]
));
return Link::create([
'original_url' => $destination,
'tracked_url' => (string) $uri,
'params' => $uri->query()->decode()
]);
}
public function generateSocialShareLinks(Post $post)
{
$url = Uri::route('posts.show', $post);
return [
'twitter' => Uri::of('https://twitter.com/intent/tweet')
->withQuery([
'url' => (string) $url,
'text' => $post->title
]),
'facebook' => Uri::of('https://www.facebook.com/sharer/sharer.php')
->withQuery(['u' => (string) $url]),
'linkedin' => Uri::of('https://www.linkedin.com/shareArticle')
->withQuery([
'url' => (string) $url,
'title' => $post->title,
'mini' => true
])
];
}
}
La clase Uri proporciona una interfaz limpia y fluida para todas sus necesidades de manipulación de URL.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión