gpt4 book ai didi

php - Laravel 5.5 - 未找到类自定义 BaseController 但存在

转载 作者:行者123 更新时间:2023-12-04 17:02:02 26 4
gpt4 key购买 nike

Laravel 5.5 自定义 BaseController即使存在也找不到。已查看 StackOverflow 上的其他问题关于 BaseController未找到,但它们指的是默认值 BaseController这与我的情况不同。

这是我的实现

Controller .php

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as CheckController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends CheckController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;


}

自定义 BaseController (BaseController.php)
use App\Http\Controllers\Controller;

class BaseController extends Controller
{

/**
* Setup the layout used by the controller.
*
* @return void
*/
public $data = array();

public function __construct()
{
if (Sentinel::check()) {
// User is not logged in, or is not activated
$this->data['admin'] = Sentinel::getUser();
}
}

protected function setupLayout()
{
if (!is_null($this->layout)) {
$this->layout = View::make($this->layout);
}
}

}

扩展名为 HomeCtontroller 的类定制 BaseController
class HomeController extends BaseController {

protected $layout = 'master';

public function main()
{
...
}

}

然后它给出了以下错误
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
Class 'BaseController' not found

将不胜感激任何类型的指针。

最佳答案

我相信你没有包含完整的命名空间。

确保在 BaseController 中有:

namespace App\Http\Controllers;

并在 HomeController确保您正在使用:
use App\Http\Controllers\BaseController;

所有这些 Controller 都应该位于 app/Http/Controllers目录。

如果您确定您有有效的目录和命名空间,请运行 composer dump-autoload在控制台中

关于php - Laravel 5.5 - 未找到类自定义 BaseController 但存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47380843/

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