我有文件夹结构app / Http / Controllers / School,里面有一个SchoolController:
namespace School;
class SchoolController extends BaseSchoolController {.....
和BaseSchoolController:
namespace School
class BaseSchoolController extends \BaseController {....
(BaseController在父控制器文件夹中)
class BaseController extends Controller {...
这会出错:
FatalErrorException in SchoolController.php line 5: Class 'School\BaseSchoolController' not found
任何想法,谢谢?
虽然看起来很满意这个结构:
class SchoolController extends \Controller {
答案 0 :(得分:1)
从我可以看到的,名称空间是错误的。
Laravel 5使用PSR-4,这意味着每个命名空间必须与类文件的文件夹结构(包括供应商)匹配。
因此,对于app/Http/Controllers/School/SchoolController.php
,名称空间应设置为:
<?php namespace App\Http\Controllers\School;
不仅仅是
<?php namespace School;
此外,如果应用名称不是默认名称(App
),请在名称空间中相应地更改。
举个例子,如果你跑了:
php artisan app:name ACME
命名空间应为:
<?php namespace ACME\Http\Controllers\School;
检查其他类app/Http/Controllers/Auth/AuthController.php
,了解应该如何完成。