Esplorare la Classe Str in Laravel – Dai Metodi Base alle Macro

Scopri la potenza della classe Str in Laravel con metodi avanzati, esempi pratici e macro personalizzate per semplificare la manipolazione delle stringhe nei tuoi progetti.
Tempo lettura: 3 minuti, 8 secondi
Difficoltà: Principiante
Attenzione:
scritto tempo fa

La classe Str di Laravel è un potente strumento per la manipolazione delle stringhe, spesso trascurato. Oltre ai metodi integrati, offre la possibilità di estendere le sue funzionalità utilizzando le Macro. Questo articolo ti guiderà attraverso i metodi principali, alcuni casi d’uso pratici e l’implementazione di macro personalizzate per personalizzare le operazioni sulle stringhe.


Metodi Base di Str

1. Str::slug

Converte una stringa in formato URL-friendly.

use Illuminate\Support\Str;

$slug = Str::slug('Documentazione Tecnica Laravel', '-');
// Risultato: "documentazione-tecnica-laravel"

2. Str::random

Genera una stringa casuale di lunghezza specificata.

$random = Str::random(10);
// Esempio di output: "x2g5q3lkjt"

3. Str::contains

Verifica se una stringa contiene un valore specifico.

$contains = Str::contains('Laravel è fantastico', 'fantastico');
// Risultato: true

4. Str::startsWith e Str::endsWith

Controlla se una stringa inizia o termina con un determinato valore.

$startsWith = Str::startsWith('framework', 'frame'); // true
$endsWith = Str::endsWith('framework', 'work'); // true

Macro Personalizzate con Str

Le Macro ti permettono di estendere la classe Str con nuovi metodi, personalizzando le operazioni sulle stringhe.

Esempio 1: Macro per Convertire in “Upper Snake Case”

Definisce una macro per convertire una stringa in formato SNAKE_CASE con lettere maiuscole.

Definizione della Macro

use Illuminate\Support\Str;

Str::macro('upperSnake', function ($value) {
    return strtoupper(Str::snake($value));
});

Utilizzo della Macro

$result = Str::upperSnake('EsempioDiStringa');
// Risultato: "ESEMPIO_DI_STRINGA"

Esempio 2: Macro per la Rotazione delle Stringhe

Crea una macro che ruoti una stringa di un numero specificato di caratteri.

Definizione della Macro

Str::macro('rotate', function ($value, $positions) {
    return substr($value, $positions) . substr($value, 0, $positions);
});

Utilizzo della Macro

$result = Str::rotate('Laravel', 3);
// Risultato: "avelLar"

 


Esempio 3: Macro per Convertire in “Studly Kebab Case”

Combina il formato StudlyCase e Kebab-case.

Definizione della Macro

Str::macro('studlyKebab', function ($value) {
    return Str::kebab(Str::studly($value));
});

Utilizzo della Macro

$result = Str::studlyKebab('esempio di stringa personalizzata');
// Risultato: "Esempio-Di-Stringa-Personalizzata"

Altri Metodi Utili di Str

1. Str::after

Ritorna la porzione della stringa dopo un valore specifico.

$result = Str::after('[email protected]', '@');
// Risultato: "example.com"

2. Str::before

Ritorna la porzione della stringa prima di un valore specifico.

$result = Str::before('[email protected]', '@');
// Risultato: "user"

3. Str::title

Trasforma una stringa in formato Title Case.

$result = Str::title('laravel è fantastico');
// Risultato: "Laravel È Fantastico"

4. Str::padBoth

Aggiunge caratteri di padding su entrambi i lati di una stringa.

$result = Str::padBoth('Laravel', 10, '*');
// Risultato: "**Laravel**"

❓ Quando Usare le Macro?

Le macro sono utili quando hai operazioni ripetitive sulle stringhe che non sono già coperte dai metodi di Str. Ad esempio:

• Formattazione di stringhe specifiche per il dominio del tuo progetto.

• Operazioni complesse su stringhe che richiedono più passaggi.

• Estensione delle funzionalità di Str per adattarle alle tue esigenze.


La classe Str di Laravel è una risorsa versatile e potente per la manipolazione delle stringhe. Con i suoi numerosi metodi e la possibilità di estendere le funzionalità con le macro, Str può semplificare significativamente il tuo lavoro con le stringhe. Esplora i metodi, definisci le tue macro e trasforma il modo in cui gestisci le stringhe nei tuoi progetti Laravel.

Se hai bisogno di ulteriori suggerimenti su come implementare Str nel tuo progetto, lascia un commento o condividi le tue idee!

Ricevi le ultime novità

Condividi:

Circa l'autore

Giuseppe Alessandro De Blasio

Salve il mio nome come avrete notato e Giueppe Alessandro De Blasio e questo è il mio blog, tutto nasce dalla passione per la tecnologia e per il web in generale, ed oggi lo utilizzo come mezzo di condivisione. Spero che la vostra permanenza sul mio blog vi sia utile e che decidiate di diventare miei affezionati lettori.

Commenti