我在Panel
目录中创建了一个Controller
目录。
login
AdminController.php
个功能
class AdminController extends Controller
{
//
public function login()
{
return 'test';
}
}
在routes.php
我写了这样一条路线:
Route::get('/cp/login','Panel\AdminController@login');
但是当我在url下面运行时,我遇到了一些错误,这个控制器不存在:
http://localhost:8000/cp/login
Route.php第280行中的ReflectionException:Class App \ Http \ Controllers \ Panel \ AdminController不存在
答案 0 :(得分:1)
尝试将相应的命名空间添加到AdminController
文件的顶部,您还需要为其扩展的Controller
类指定命名空间,因为它们位于不同的子命名空间下。 / p>
您可以在此处阅读有关PSR-4自动加载的更多信息http://www.php-fig.org/psr/psr-4/。
根据您所在的目录结构,应该阅读
<?php
namespace App\Http\Controllers\Panel
use App\Http\Controllers\Controller;
class AdminController extends Controller {
//..
}
答案 1 :(得分:1)
您应将名称空间添加到控制器
将名称空间更改为
命名空间App \ Http \ Controllers \ Panel;
Laravel将根据您的名称间隔而不是目录结构来解析控制器。