【发布时间】:2015-10-16 17:53:29
【问题描述】:
我是 laravel 的新手。我正在尝试通过将控制器放在文件夹中来组织控制器,但它似乎不起作用。
我的文件夹结构是这样的:
/app
/Http
/Controllers
/Admin
ShowDashboard.php
我的ShowDashboard.php文件是这样的:
<?php namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
class ShowDashboard extends Controller {
/**
* Show the profile for the given user.
*
* @param int $id
* @return Response
*/
public function init()
{
return 'Hi there!';
}
}
我的路线是这样的
Route::get('/admin', 'Admin\ShowDashboard@init');
当我试图访问 http://localhost:8000/admin 时,我收到以下错误:
类App\Http\Controllers\Admin\ShowDashboard不存在
我的自动加载器部分:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
}
我错过了什么吗?
【问题讨论】:
-
您的文件夹结构中缺少“App”文件夹 - 这是误操作吗?如果结构中确实缺少它可能是原因
-
有没有我没有提到的应用,让我更正一下。
-
我复制了你的代码,它可以工作,不知道你得到错误的原因是什么
-
我使用 php artisan server 作为我的服务器,会不会有问题?
-
我不这么认为。我可以在您的文件夹结构中看到“App”,但名称应该是小写的“app” - 我想这只是一个错字。还要检查 composer.json 中的自动加载部分 - 你应该在 'App\\' 命名空间和 'app/' 文件夹之间有一个映射
标签: php laravel laravel-5 laravel-routing