Wat zijn helperfuncties
Laravel biedt een groot aantal globale PHP-functies (helpers). De meeste worden intern door het framework zelf gebruikt, maar je kunt ze ook vrij in je eigen applicatie inzetten. De helpers vallen grofweg in de volgende categorieën:- Arrays en objecten — de
Arr::-klasse en functies zoalsdata_get() - Getallen — de
Number::-klasse - Paden — padfuncties zoals
app_path()enstorage_path() - URL’s — URL-generatiefuncties zoals
route(),url()enasset() - Overig — veelgebruikte utilities zoals
config(),collect()enauth()
Helperfuncties kun je overal aanroepen zonder
use-declaratie. Gebruik je de klassen Arr of Number, dan is een import zoals use Illuminate\Support\Arr; wel nodig.Array-helpers (de Arr-klasse)
Arr::get() — geneste waarden ophalen met dot-notatie
Haalt veilig een geneste waarde op uit een multidimensionale array met dot-notatie (foo.bar.baz). Bestaat de sleutel niet, dan wordt de standaardwaarde teruggegeven.
Arr::set() — een waarde instellen in een geneste array
Arr::has() — controleren of een sleutel bestaat
Arr::only() / Arr::except() — sleutels selecteren of uitsluiten
Handig wanneer je uit requestdata of configuratie-arrays alleen de benodigde sleutels wilt halen, of juist ongewenste sleutels wilt verwijderen.
Arr::pluck() — een specifieke sleutel uit een geneste array halen
Arr::first() / Arr::last() — eerste of laatste element dat aan een voorwaarde voldoet
Arr::flatten() — een multidimensionale array afvlakken naar één dimensie
Arr::wrap() — een waarde gegarandeerd in een array veranderen
Wikkelt een waarde in een array als het geen array is. null wordt een lege array. Handig wanneer een functie flexibel argumenten moet accepteren.
Arr::sort() — sorteren op waarde
Arr::dot() / Arr::undot() — omzetten naar dot-notatie en terug
Arr::join() — een array samenvoegen tot een string
data_get() — toegang tot geneste data
De generieke variant van Arr::get(). Werkt niet alleen met arrays, maar ook met objecten, Eloquent-modellen en collections.
Getalhelpers (de Number-klasse)
Number::format() — getallen leesbaar formatteren
Number::currency() — valutanotatie
Number::fileSize() — bestandsgroottes in een leesbaar formaat
Number::abbreviate() — grote getallen afkorten
Number::percentage() — percentages weergeven
Padhelpers
Halen directorypaden binnen de applicatie op. Ze geven het juiste pad terug, ook als de omgeving of deploylocatie verandert.URL-helpers
route() — URL’s genereren voor benoemde routes
url() — absolute URL’s voor willekeurige paden genereren
asset() — URL’s voor statische assets genereren
to_route() — redirecten naar een benoemde route
Overige veelgebruikte helpers
config() — configuratiewaarden ophalen en instellen
collect() — een collection maken
auth() — de geauthenticeerde gebruiker ophalen
blank() / filled() — controleren op leegte
blank() beschouwt null, een lege string, alleen witruimte en lege collections/arrays als true. filled() is het omgekeerde.
abort() / abort_if() / abort_unless() — HTTP-excepties
dd() / dump() — debuggen
dispatch() — een job op de queue zetten
encrypt() / decrypt() — versleuteling
env() — omgevingsvariabelen ophalen
Wanneer gebruik je collect()
DeArr::-klasse werkt op gewone PHP-arrays; collect() geeft een collection-object terug.
Eloquent-resultaten worden automatisch als collections teruggegeven, dus die hoef je niet in
collect() te wikkelen. Volstaat een eenvoudige arraybewerking, dan houd je het simpel met Arr::.Samenvatting
Overzicht van veelgebruikte helpers
Overzicht van veelgebruikte helpers
Arr-klasse vs collect()
Arr-klasse vs collect()
Wanneer gebruik je de
Arr::-klasse:- Eenvoudige arraybewerkingen (toegang tot geneste sleutels, sleutels filteren enz.)
- Wanneer de overhead van een collection-object onnodig is
- Wanneer je het resultaat als array wilt blijven gebruiken
collect():- Wanneer je meerdere bewerkingen als methodchain wilt uitdrukken
- Wanneer je Eloquent-resultaten verder bewerkt (al een collection)
- Wanneer je collection-specifieke methoden zoals
map,filterengroupBywilt gebruiken