【问题标题】:Call to undefined method Illuminate\Support\Facades\App::index()调用未定义的方法 Illuminate\Support\Facades\App::index()
【发布时间】:2021-10-29 04:52:24
【问题描述】:

我是学习 Laravel 的新手,但我无法路由到控制器,我有一个名为“App”的控制器,其中有一个名为 index 的函数,它说在“App”中找不到它即使我在路线中设置了控制器

错误

错误
调用未定义的方法 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');

这个错误的原因是什么?

【问题讨论】:

  • 不要将你的控制器命名为App,这个名字已经被 Laravel 使用了

标签: php laravel


【解决方案1】:

一个名为App的类已经存在于Laravel中,定义在命名空间Illuminate\Support\Facades\App

如果你想使用你的类,请确保添加

use  App\Http\Controllers\App 

在你的web.php

建议使用不同的名称。您应该遵循约定并将其命名为AppController

【讨论】:

  • 别忘了在 web.php 文件中添加use App\Http\Controllers\AppController
【解决方案2】:

我解决了。

我删除了名为“App”的控制器并创建了一个名为“AppController”的控制器。但这导致了一个新的错误,Laravel 找不到类“AppController”。为此,我将 web.php 更新如下;

use App\Http\Controllers\AppController;

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

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2020-01-24
    • 2019-03-04
    • 2023-03-24
    • 2019-05-14
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多