Skip to main content

Cosa sono le funzioni helper

Laravel fornisce numerose funzioni PHP globali (helper). La maggior parte è usata internamente dal framework, ma puoi liberamente utilizzarle anche nella tua applicazione. Gli helper si dividono nelle seguenti categorie principali:
  • Array e oggetti — la classe Arr:: e funzioni come data_get()
  • Numeri — la classe Number::
  • Path — funzioni di path come app_path(), storage_path()
  • URL — funzioni di generazione URL come route(), url(), asset()
  • Altro — utility comuni come config(), collect(), auth()
Le funzioni helper non richiedono use e sono richiamabili da ovunque. Per usare le classi Arr o Number serve l’import (use Illuminate\Support\Arr;, ecc.).

Helper per array (classe Arr)

Arr::get() — recupero con notazione dot

Recupera in modo sicuro un valore annidato da un array multidimensionale con la notazione dot (foo.bar.baz). Se la chiave non esiste restituisce il default.
Anche la funzione globale data_get() ha la stessa funzionalità. Supporta anche oggetti Arrayable come le relazioni Eloquent ed è quindi più generica.

Arr::set() — assegna un valore annidato

Arr::has() — verifica dell’esistenza di una chiave

Arr::only() / Arr::except() — filtra o esclude chiavi

Utile per prendere dalla request solo le chiavi che ti servono o per escluderne di indesiderate.

Arr::pluck() — estrai una chiave specifica da array annidati

Arr::first() / Arr::last() — primo o ultimo che soddisfa la condizione

Arr::flatten() — appiattisce array multidimensionali

Arr::wrap() — garantisce un array

Se il valore non è un array lo incapsula in uno. null diventa array vuoto. Utile per argomenti flessibili.

Arr::sort() — ordina per valori

Arr::dot() / Arr::undot() — conversione con notazione dot

Arr::join() — unisce array in stringa

data_get() — accesso a dati annidati

Versione generalizzata di Arr::get(). Supporta array, oggetti, modelli Eloquent e collection.

Helper numerici (classe Number)

Number::format() — formatta i numeri

Number::currency() — formattazione valuta

Number::fileSize() — dimensione file leggibile

Number::abbreviate() — numeri abbreviati

Number::percentage() — percentuale

Helper di path

Restituiscono i percorsi delle directory dell’applicazione. Sono corretti indipendentemente dall’ambiente o dal target di deploy.

Helper URL

route() — URL per route con nome

url() — URL assoluto da un path qualsiasi

asset() — URL degli asset statici

to_route() — redirect a una route con nome

Altri helper comuni

config() — leggi/imposta valori di configurazione

collect() — crea una Collection

collect() è l’helper fondamentale per le Collection. Per approfondire vedi Collections.

auth() — recupera l’utente autenticato

blank() / filled() — verifica di vuoto

blank() considera true null, stringhe vuote, solo spazi, collection e array vuoti. filled() è l’opposto.

abort() / abort_if() / abort_unless() — eccezioni HTTP

dd() / dump() — debug

dispatch() — job in coda

encrypt() / decrypt() — cifratura

env() — leggi variabili d’ambiente

Best practice: non chiamare env() direttamente da controller o service. Chiamalo solo in config/ e accedi tramite config(). Con la config cache attiva (php artisan config:cache), env() potrebbe non restituire il valore atteso.

Arr vs collect()

Arr:: opera su array PHP, collect() restituisce oggetti Collection.
I risultati Eloquent sono già Collection; non serve avvolgerli con collect(). Se ti basta una manipolazione semplice, Arr:: è più immediato.
Usa Arr:::
  • Operazioni semplici (accesso annidato, filtri di chiavi)
  • Quando non ti serve l’overhead di una Collection
  • Vuoi restare su array
Usa collect():
  • Concatenare più operazioni
  • Manipolare risultati Eloquent (già Collection)
  • Metodi propri delle Collection (map, filter, groupBy, ecc.)
Ultima modifica il 13 luglio 2026