gpt4 book ai didi

php - Laravel 5 类继承

转载 作者:可可西里 更新时间:2023-11-01 01:00:49 42 4
gpt4 key购买 nike

我正在使用 laravel 5 代码。

我似乎无法扩展与子类具有不同命名空间的类。

我的父类是文件夹是App/Http/Controllers/

namespace App\Http\Controllers;

use Illuminate\Routing\Controller as BaseController;

class MainController extends BaseController{

function __construct() {

}

function home() {
echo "main";
}


}

我的 child 类(class)是文件夹是App/Http/Controllers/Site

namespace App\Http\Controllers\Site;

class SiteController extends MainController {

function __construct() {

parent::__construct();
}

function home() {

return view('dashboard');
}
}

我的路由文件有这条路由

Route::get('/', 'Site\SiteController@home');

这是我得到的错误

 FatalErrorException in SiteController.php line 5: Class 'App\Http\Controllers\Site\MainController' not found

这显然是命名空间的问题,因为当我这样做时

Route::get('/', 'Site\SiteController@home');

它呼应了MainController中的home方法

我如何让它工作?

最佳答案

这不是 Laravel 5 问题,而是常见的 PHP 命名空间问题。

实现结果有两种方式:

  • 使用 use 语句:添加这行 use\App\Http\Controllers\MainController;
  • 使用完整命名空间:将您的行更改为 class SiteController extends\App\Http\Controllers\MainController

选择你更喜欢的方式。

关于php - Laravel 5 类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27564489/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com