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

The Issue

Depending on your server encoding configuration, you will encounter one of these errors:

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

Explanation

This problem stems from server encoding that lacks complete UTF-8 support. It commonly affects Turkish and other languages where character case conversion differs from standard ASCII rules, particularly with the letter "i" in Laravel applications.

The issue originates in the ResourceRegistrar class within Laravel's routing system, specifically in the register() method. This method iterates through resource methods and dynamically constructs method names using ucfirst(), which is sensitive to server locale settings:

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

Solution

Configure all server resources (Apache, PHP, MySQL) to use UTF-8 encoding exclusively or with full UTF-8 support. Additionally, ensure all edited files are saved as UTF-8 without BOM (Byte Order Mark).

Was this article helpful?

Thank you for your feedback!

Still need help? Create a support ticket

Create a Ticket

Common Issues

Mar 24, 2026