Qu’est-ce que Str
Illuminate\Support\Str fournit des méthodes riches pour manipuler les chaînes. Plutôt que d’appeler séparément les fonctions natives PHP, vous manipulez les chaînes via une interface unifiée.
Deux styles :
- Statique :
Str::slug($title, '-')— pour un traitement ponctuel - Fluent (chaînage) :
Str::of($title)->slug('-')->limit(50)— pour enchaîner plusieurs opérations
Le helper global
str() équivaut à Str::of(). Ex : str('hello')->upper().Conversion de casse
Str::camel() / Str::snake() / Str::kebab() / Str::studly()
Str::lower() / Str::upper() / Str::title()
Slugs et URLs
Str::slug()
Essentiel pour générer une URL propre.
Str::of() : slug + validation
Tronquer
Str::limit()
Str::words()
Recherche et vérification
Str::contains()
Str::startsWith() / Str::endsWith()
Str::is()
Transformation et remplacement
Str::replace()
Str::replaceArray()
Str::replaceMatches()
Str::remove()
Str::squish()
Prefixes / suffixes
Str::before() / Str::after()
Str::between()
Str::start() / Str::finish()
Ajoutent le caractère s’il manque (pas de doublon).
Str::chopStart() / Str::chopEnd()
Masquage et sécurité
Str::mask()
Str::excerpt()
Utile pour des extraits de recherche.
Chaînes aléatoires et identifiants
Str::random()
Str::uuid() / Str::ulid()
Str::password()
Str::counted()
Retourne un couple nombre + singulier/pluriel formaté.
Fluent Strings
Str::of() ou str() retourne un Stringable. Convertissez explicitement en chaîne avec (string) ou dans un contexte string.
Exemples de chaînage
Slug d’articlewhen()
pipe()
Méthodes courantes en Fluent
Récapitulatif
Méthodes Str fréquentes
Méthodes Str fréquentes
Statique vs Fluent (Str::of)
Statique vs Fluent (Str::of)
Statique :Fluent :
- 1-2 transformations
- Code simple
- 3 opérations et plus
- Contient un
when() - Flux de traitement lisible du haut vers le bas
Str vs fonctions PHP natives
Str vs fonctions PHP natives
Utilisez
Str plutôt que strtolower(), substr(), str_replace(), etc. :- Support multi-octets sûr (utilise
mb_*en interne) - Chaînage possible
- Ordre des arguments homogène
- Style de code cohérent avec Laravel