Conversión de objetos Fluent a arrays en Laravel

  • Publicado el 13 febrero, 2025
  • Palabras: 200

¿Necesitas manejar valores de manera consistente como arraysen tus instancias de Fluent? El nuevo método array() de Laravel proporciona una manera clara de convertir valores sin conversión manual.

Conversión de objetos Fluent a arrays en Laravel

#Uso básico

Al trabajar con objetos Fluent, a menudo es necesario asegurarse de que los valores se devuelvan como arrays. Antes, esto requería una conversión manual o una manipulación de la colección. El nuevo método array() simplifica este proceso al proporcionar una forma directa de obtener valores de matriz de las instancias de Fluent. Veamos cómo funciona:

 

$fluent = new Fluent(['email' => 'test@example.com']);
$emails = $fluent->array('email');
// Result: ['test@example.com']

 

#Ejemplo práctico

A continuación se explica cómo puede usarlo en un administrador de configuración:

 

class ConfigurationManager
{
    protected $config;

    public function __construct(array $settings)
    {
        $this->config = new Fluent($settings);
    }

    public function getEmailRecipients(string $type)
    {
        // Always get recipients as array
        return $this->config->array("notifications.{$type}.recipients");
    }

    public function getAllowedDomains()
    {
        // Previously: (array) $this->config->get('domains')
        // Or: $this->config->collect('domains')->all()
        return $this->config->array('domains');
    }

    public function getAdminUsers()
    {
        // Single admin or multiple will always return array
        return $this->config->array('admin_users');
    }
}

 

El método array() simplifica el manejo de valores en las instancias de Fluent al garantizar una salida de arrayconsistente. Esto elimina la necesidad de conversión de tipos manual o métodos de recopilación, lo que hace que el código sea más limpio y fácil de mantener.

Piense en él como un normalizador de arrays automático para sus objetos Fluent: ya sea que su propiedad contenga un solo valor o varios valores, siempre obtendrá un array de vuelta. Esto se vuelve especialmente valioso cuando:

 

  • Manejo de valores de configuración que pueden ser únicos o múltiples
  • Procesamiento de configuraciones de usuario
  • Administración de listas de valores
  • Trabajo con propiedades dinámicas


Por ejemplo, en lugar de verificar si un valor es un array o usar métodos de recopilación, puede simplemente usar el método array() y saber que obtendrá un resultado consistente.

Antonio Jenaro

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.

Archivado en:

Fuente: Harris Raftopoulos

Artículos relacionados

Manejo fluido de arrays en Laravel, el helper fluent
511

Manejo fluido de arrays en Laravel, el helper fluent

Transforma los datos de respuesta HTTP con el método fluent de Laravel
631

Transforma los datos de respuesta HTTP con el método fluent de Laravel

Gestión de atributos anidados con el método set de la clase Fluent de Laravel
600

Gestión de atributos anidados con el método set de la clase Fluent de Laravel

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión