Skip to main content

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.
Les caractères non ASCII (japonais, etc.) peuvent produire un slug vide. Envisagez une bibliothèque de translittération, ou utilisez un ID/horodatage.

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é.
En Fluent :
Pratique pour afficher des libellés « 1 order / 2 orders » en anglais avec formatage numérique automatique.

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’article
Extraire le domaine d’une URL
Assainir une entrée utilisateur
Class name → chemin de fichier

when()

pipe()

Méthodes courantes en Fluent

Récapitulatif

Statique :
  • 1-2 transformations
  • Code simple
Fluent :
  • 3 opérations et plus
  • Contient un when()
  • Flux de traitement lisible du haut vers le bas
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
Dernière modification le 13 juillet 2026