【发布时间】:2016-11-19 07:54:16
【问题描述】:
我有一个非常简单的 routes.php 文件:
<?php
Route::get('/', 'TracksController@index');
还有一个简单的 TracksController.php 文件,位于 App\Http\Controllers:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Track as Track;
class TracksController extends Controller
{
function index(){
$tracks = Track::latest->get();
return view('tracks')->with(compact('tracks'));
}
}
但每当我尝试访问该路线时,我都会收到此错误:
ReflectionException in Route.php line 280:
Class App\Http\Controllers\TracksController does not exist
我不知道我还能做什么。我有:
- 运行 composer dumpautoload
- 运行 php artisan clear-compiled
- 已检查 storage/* 文件夹的权限
- 在路由文件中强制使用 TracksController 的命名空间和/或完整路径
但似乎没有任何效果。
我什至检查了 composer 生成的 vendor/composer/autoload_classmap.php 文件,但我在其中找不到 TracksController 文件。
有什么线索吗?
【问题讨论】:
-
检查你的函数
function index(){}应该是public函数index(){}` -
公开该函数,并删除其中的所有内容并将其放入
dd('test');并删除use App\Track as Track;,如果您在页面上看到单词 test 那么答案很明显 -
您的问题可能是拼写错误,但命令应为
composer dump-autoload,并带有连字符。如果不是拼写错误,请尝试一下,看看是否能解决问题。 -
作曲家允许
composer dump-autoload或composer dumpautoload -
@AndrewNolan Huh。刚刚测试过,它可以工作。我不知道。谢谢你的信息。