 
                                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.
 
    Desarrollador backend especializado en PHP y Laravel, con sede en Santander, Cantabria. Más de 15 años de experiencia en el desarrollo de aplicaciones web a medida y en la modernización de código heredado.
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
 
            