Erreur : Call to undefined method ResourceRegistrar::addResource­ndex()

Le problème

Selon la configuration d'encodage de votre serveur, vous rencontrerez l'une de ces erreurs :

  • Call to undefined method Illuminate\Routing\ResourceRegistrar::addResource­ndex()
  • Call to undefined method Illuminate\Routing\ResourceRegistrar::addResource?ndex()

Explication

Ce problème provient d'un encodage serveur qui ne prend pas entièrement en charge l'UTF-8. Il affecte couramment le turc et d'autres langues où la conversion de casse des caractères diffère des règles ASCII standard, en particulier avec la lettre « i » dans les applications Laravel.

Le problème provient de la classe ResourceRegistrar dans le système de routage de Laravel, spécifiquement dans la méthode register(). Cette méthode itère sur les méthodes de ressource et construit dynamiquement les noms de méthodes en utilisant ucfirst(), qui est sensible aux paramètres régionaux du serveur :

foreach ($this->getResourceMethods($defaults, $options) as $m) {
    $collection->add($this->{'addResource'.ucfirst($m)}(
        $name, $base, $controller, $options
    ));
}

Solution

Configurez toutes les ressources du serveur (Apache, PHP, MySQL) pour utiliser exclusivement l'encodage UTF-8 ou avec un support complet de l'UTF-8. De plus, assurez-vous que tous les fichiers modifiés sont enregistrés en UTF-8 sans BOM (Byte Order Mark).

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Besoin d'aide ? Créez un ticket de support

Créer un Ticket

Problèmes courants

mars 24, 2026