Pipeline Helper en Laravel

Pipeline Helper en Laravel — Amit Merchant — Un blog sobre PHP, JavaScript y más

EL Pipeline La fachada es un pequeño ayudante para Laravel que ha existido durante bastante tiempo, pero solo recientemente encontró su camino en la documentación de Laravel.

como taylor mencionarla clase se ha utilizado internamente en Laravel durante mucho tiempo, pero nunca se ha documentado.

Índice
  1. EL Pipeline asistente
  2. Usar Clases Invocables
  3. En conclusión

EL Pipeline asistente

Esencialmente, el Pipeline La clase es una implementación simple de la modelo de tubería en PHP. Esta es una excelente manera de encadenar múltiples devoluciones de llamada y pasar el resultado de una devolución de llamada a la siguiente devolución de llamada.

Veamos cómo puedes usar el Pipeline clase en Laravel con un ejemplo simple.

use Illuminate\Support\Facades\Pipeline;
use Illuminate\Support\Str;

$postSlug = Pipeline::send('Laravel pipelines are awesome!')
            ->through([
                function (string $title, \Closure $next) {
                    $title = Str::slug($title);
 
                    return $next($title);
                },
                function (string $title, \Closure $next) {
                    $title = Str::upper($title);
 
                    return $next($title);
                },
            ])
            ->then(fn (string $title) => $title);

dd($postSlug);

// "LARAVEL-PIPELINES-ARE-AWESOME"

Este es un ejemplo bastante amplio, pero le ayudará a comprender el concepto de Pipeline clase.

Como puede ver, en el ejemplo anterior, estamos pasando la cadena Laravel pipelines are awesome! En Pipeline clase, luego encadenamos dos devoluciones de llamada usando el through() método. La primera devolución de llamada convertirá la cadena en un slug y la segunda devolución de llamada convertirá el slug en mayúsculas.

EL $next El parámetro en la devolución de llamada es un cierre que pasará el resultado de la devolución de llamada actual a la siguiente devolución de llamada.

Finalmente, devolvemos el resultado de la segunda devolución de llamada usando el then() método cuando se ejecuta la última devolución de llamada.

Usar Clases Invocables

Además de eso, también puedes pasar clases invocables al Pipeline clase también.

$postSlug = Pipeline::send('Laravel pipelines are awesome!')
            ->through([
                Slugify::class,
                Uppercase::class,
            ])
            ->then(fn (string $title) => $title);

EL Slugify la clase, por ejemplo, se verá así.

class Slugify
{
    public function __invoke(string $title, \Closure $next)
    {
        $title = Str::slug($title);

        return $next($title);
    }
}

En conclusión

Aunque el ejemplo anterior es bastante simple, el Pipeline La clase se puede usar para hacer cosas bastante complejas y hay muchos casos de uso. Pero por ahora, espero que tengas una buena idea de cómo puedes usar el Pipeline clase en Laravel.

¡Hasta la próxima vez!

Si quieres conocer otros artículos parecidos a Pipeline Helper en Laravel puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas