yukselmm
yukselmm

Reputation: 1

Call to undefined method Illuminate\Support\Facades\App::index()

I'm new to learning Laravel but I'm having trouble routing to controller, I have a controller named "App" and I have a function named index in it, it says it can't find it in "App" controller even though I set it in the route

Error

Error
Call to undefined method Illuminate\Support\Facades\App::index()
http://localhost:8000/anasayfa

App.php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class App extends Controller
{
    public function index(){
      return "anasayfa";
    }
}

web.php

Route::get('/anasayfa', 'App@index');

What is the reason for this error?

Upvotes: 0

Views: 3280

Answers (2)

Mohammed Naguib
Mohammed Naguib

Reputation: 594

A class with the name App already exists in Laravel, defined in namespace Illuminate\Support\Facades\App

if you want to use your class make sure to add

use  App\Http\Controllers\App 

in your web.php

It is recommended to use a different name. You should follow the conventions and name it AppController.

Upvotes: 1

yukselmm
yukselmm

Reputation: 1

I'm solved.

I deleted the controller named "App" and created a controller named "AppController". But this caused a new error, Laravel could not find class "AppController". For this I updated web.php as follows;

use App\Http\Controllers\AppController;

Route::get('/anasayfa', [AppController::class, 'index']);

Upvotes: 0

Related Questions