Cos’è la classe Str
La classeIlluminate\Support\Str offre numerosi metodi per la manipolazione delle stringhe. Invece di chiamare separatamente le funzioni standard di PHP, hai un’interfaccia unificata e intuitiva.
Ci sono due stili:
- Metodi statici:
Str::slug($title, '-')— per operazioni singole - Stile fluent (concatenazione):
Str::of($title)->slug('-')->limit(50)— per concatenare più operazioni
L’helper globale
str() equivale a Str::of(). Puoi scrivere str('hello')->upper().Conversione tra case
Metodi per convertire tra maiuscolo, minuscolo e varie notazioni. Utili per nomi di colonne e chiavi API.Str::camel() / Str::snake() / Str::kebab() / Str::studly()
Str::lower() / Str::upper() / Str::title()
Slug e URL
Str::slug() — slug URL-friendly
Slug e validazione con Str::of()
Troncamento
Str::limit() — troncamento per caratteri
Str::words() — troncamento per parole
Ricerca e verifica
Str::contains()
Str::startsWith() / Str::endsWith()
Str::is() — pattern con wildcard
Sostituzione
Str::replace()
Str::replaceArray()
Str::replaceMatches() — regex
Str::remove()
Str::squish() — normalizza spazi
Prima/dopo
Str::before() / Str::after()
Str::between()
Str::start() / Str::finish()
Aggiungono il carattere se non presente (non lo duplicano).
Str::chopStart() / Str::chopEnd()
Mascheramento
Str::mask()
Str::excerpt()
ID e stringhe casuali
Str::random()
Str::uuid() / Str::ulid()
Str::password()
Str::counted() — plurale con numero formattato
Fluent Strings
ConStr::of() o str() ottieni un’istanza Stringable e concateni i metodi.
Esempi pratici di concatenazione
Slug di un articolo di blogChain condizionale con when()
pipe() — callback arbitrarie
Metodi principali di Str::of()
Riepilogo
Metodi Str più usati
Metodi Str più usati
| Metodo | Uso |
|---|---|
Str::slug($str) | Slug URL-friendly |
Str::limit($str, $n) | Troncamento per caratteri |
Str::contains($str, $needle) | Contiene la stringa |
Str::startsWith($str, $needle) | Inizia con |
Str::endsWith($str, $needle) | Finisce con |
Str::replace($search, $replace, $str) | Sostituzione |
Str::camel($str) / snake / kebab / studly | Cambio di case |
Str::upper($str) / lower | Maiuscolo/minuscolo |
Str::squish($str) | Normalizza spazi |
Str::after($str, $s) / before / between | Prima/dopo/in mezzo |
Str::mask($str, '*', $index) | Maschera |
Str::random($length) | Casuale |
Str::uuid() | UUID |
Str::of($str) | Inizia catena fluent |
Statici vs Fluent
Statici vs Fluent
Statici: per 1-2 trasformazioni; leggibilità semplice.Fluent (Str::of): per 3+ trasformazioni o con condizioni (
when()); flusso letto dall’alto verso il basso.Str vs funzioni PHP standard
Str vs funzioni PHP standard
Rispetto a
strtolower(), substr(), str_replace() ecc., con Str:- I caratteri multibyte sono gestiti in sicurezza (internamente
mb_*) - Puoi concatenare le operazioni
- Non devi ricordare l’ordine degli argomenti
- Ottieni uno stile coerente con Laravel