Skip to main content

Qué son las funciones auxiliares

Laravel ofrece muchas funciones PHP globales (helpers). El propio framework las usa internamente, pero también puedes utilizarlas libremente en tu aplicación. Las funciones auxiliares se agrupan en las siguientes categorías:
  • Arrays y objetos: la clase Arr:: y funciones como data_get().
  • Números: la clase Number::.
  • Rutas del sistema de ficheros: funciones para obtener rutas como app_path() y storage_path().
  • URLs: funciones de generación de URL como route(), url() y asset().
  • Otras: utilidades muy utilizadas como config(), collect() o auth().
Las funciones auxiliares pueden llamarse desde cualquier lugar sin necesidad de use. Para las clases Arr o Number sí necesitas importarlas con use Illuminate\Support\Arr;, etc.

Helpers de arrays (clase Arr)

Arr::get(): obtener valores anidados con notación de punto

Recupera valores anidados de un array multidimensional utilizando notación de punto (foo.bar.baz). Si la clave no existe se devuelve el valor por defecto.
La función global data_get() ofrece la misma funcionalidad. Además, funciona sobre objetos Arrayable como las relaciones de Eloquent, por lo que es más versátil.

Arr::set(): asignar un valor anidado

Arr::has(): comprobar la existencia de una clave

Arr::only() / Arr::except(): filtrar o excluir claves

Muy útiles para quedarte solo con las claves necesarias, o excluir claves indeseadas, de los datos de una petición o de un array de configuración.

Arr::pluck(): extraer una clave concreta de arrays anidados

Arr::first() / Arr::last(): primer o último elemento que cumple una condición

Arr::flatten(): aplanar un array multidimensional

Arr::wrap(): garantizar que el valor sea un array

Si el valor no es un array lo envuelve en uno. Con null se obtiene un array vacío. Ideal para aceptar argumentos flexibles en funciones.

Arr::sort(): ordenar por valor

Arr::dot() / Arr::undot(): convertir a notación de punto y viceversa

Arr::join(): unir un array como cadena

data_get(): acceso a datos anidados

Versión más versátil de Arr::get(). Funciona con arrays, objetos, modelos Eloquent y colecciones.

Helpers de números (clase Number)

Number::format(): dar formato legible a un número

Number::currency(): formato monetario

Number::fileSize(): tamaño de archivo en formato legible

Number::abbreviate(): notación abreviada para números grandes

Number::percentage(): porcentaje

Helpers de rutas de sistema

Devuelven rutas absolutas dentro de la aplicación, correctas en cualquier entorno o destino de despliegue.

Helpers de URL

route(): generar la URL de una ruta con nombre

url(): generar la URL absoluta de una ruta arbitraria

asset(): URL de un asset estático

to_route(): redirigir a una ruta con nombre

Otras funciones auxiliares muy utilizadas

config(): obtener y asignar valores de configuración

collect(): crear una colección

collect() es la puerta de entrada a las colecciones. Consulta colecciones para más información.

auth(): obtener el usuario autenticado

blank() / filled(): comprobar si un valor está vacío

blank() considera vacíos null, cadenas vacías, cadenas solo con espacios y colecciones/arrays vacíos. filled() es la operación inversa.

abort() / abort_if() / abort_unless(): excepciones HTTP

dd() / dump(): depuración

dispatch(): encolar un job

encrypt() / decrypt(): cifrado

env(): obtener variables de entorno

La buena práctica es llamar a env() únicamente dentro de los archivos de config/ y acceder a los valores mediante config() desde los controladores y clases de servicio. Con la caché de configuración activada (php artisan config:cache), env() puede no devolver el valor esperado.

Cuándo usar Arr y cuándo collect()

La clase Arr:: está pensada para operaciones sobre arrays PHP nativos, mientras que collect() devuelve un objeto colección.
Los resultados de Eloquent ya son colecciones, así que no necesitas envolverlos con collect(). Para operaciones sencillas sobre arrays, Arr:: da como resultado un código más simple.

Resumen

Cuándo usar la clase Arr:::
  • Operaciones sencillas sobre arrays (acceder a claves anidadas, filtrar claves…).
  • Cuando no quieres la sobrecarga de una colección.
  • Si prefieres seguir trabajando con arrays.
Cuándo usar collect():
  • Cuando encadenas varias operaciones.
  • Al procesar resultados de Eloquent (ya son colecciones).
  • Cuando necesitas métodos propios de las colecciones como map, filter o groupBy.
Última modificación el 13 de julio de 2026