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

标签 php laravel laravel-5 namespaces laravel-5.5

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/

相关文章:

laravel - 将变量绑定(bind)到原始查询

php - 你如何将你的 sql 查询嵌入到 php 脚本中(编码风格)?

PHP 运行 curl with exec 不工作

php - `--database` 在 laravel 的 "Artisan::call"方法中不起作用

php 列表到表中

php - 如何使用 Carbon 日期时间扩展通过将数据库中的生日月份与 laravel 中的当前月份匹配来获取数据?

php - 使用 laravel 和 mysql :DataTables warning: table id=example - ajax error 的错误数据表

laravel - 如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写

php - "Type error: Too few arguments to function App\Http\Controllers\FrontController::detail(), 0 passed and exactly 1 expected"

php - 包含嵌套 View (如果存在于 blade、laravel 5 中)