【发布时间】:2018-05-03 00:18:27
【问题描述】:
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
不胜感激。
【问题讨论】:
标签: php laravel laravel-5 namespaces laravel-5.5