【问题标题】:Laravel 5 Namespace issue fatal error exceptionLaravel 5命名空间问题致命错误异常
【发布时间】:2016-06-13 03:23:05
【问题描述】:

我遇到了这个我似乎无法弄清楚的致命错误异常:

找不到类“App\Http\Controllers\Admin\Controller”

由于某种原因,我不确定为什么它会在该错误结束时跟踪控制器。我的控制器命名空间:

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Announcement;
use App\Http\Requests;

class AnnouncementController extends Controller
{
   ...
}

还有我的路线:

Route::group(['prefix' => 'admin','namespace'=>'Admin', 'middleware'=>'auth'], function () {


    Route::resource('announcements','AnnouncementController');



});

但是当我导航到 /admin/announcements 路由时,我得到了一个致命的异常,最后添加了控制器。

此控制器位于App\Http\Controllers\Admin 目录中,所以我不确定为什么会出现此错误。我的名字间距错了吗?

【问题讨论】:

  • 你扩展控制器。 App\Http\Controllers\Admin中可能没有控制器类
  • 我尝试添加命名空间 use App\Http\Controllers\Controller;仍然没有运气:/ AndrewL
  • 使用全限定类名
  • 尝试删除这个'namespace'=>'Admin'并添加use App\Http\Controllers\Controller;
  • 您可以离开'namespace' => 'Admin',然后将路由中的控制器称为AnnouncementController。 Laravel 假设 App\Http\Controllers 命名空间是你开始使用的,基于你的 RouteServiceProvider。

标签: php laravel namespaces


【解决方案1】:

试试这个

路线

Route::group(['prefix' => 'admin', 'middleware'=>'auth'], function () {

    Route::resource('announcements','Admin\\AnnouncementController');

});

控制器

namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Announcement;
use App\Http\Requests;

class AnnouncementController extends Controller
{
   ...
}

如果此方法有效,请检查 app/Http/Controllers/ 中是否有一个名为 Controller 的控制器

【讨论】:

  • 这对我有用。谢谢!!它缺少控制器命名空间,因为我为需要使用 App\Http\Controllers\Controller 的管理控制器创建了一个新目录。如此明显的错误......斗争大声笑
猜你喜欢
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-07
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多