Php 无法将Illumb\Routing\Controller用作控制器,因为该名称已在使用中

Php 无法将Illumb\Routing\Controller用作控制器,因为该名称已在使用中,php,laravel,laravel-5,Php,Laravel,Laravel 5,我一直在学习使用Laravel,观看Larcasts和使用Docs,我遇到了一个教训,其中描述了雄辩,但我被错误缠住了: at HandleExceptions->fatalExceptionFromError( array( 'type' => '64', 'message' => 'Cannot use Illuminate\Routing\Controller as Controller because the name is already in u

我一直在学习使用Laravel,观看Larcasts和使用Docs,我遇到了一个教训,其中描述了雄辩,但我被错误缠住了:

at HandleExceptions->fatalExceptionFromError(
  array(
    'type' => '64',
    'message' => 'Cannot use Illuminate\Routing\Controller as Controller because the name is already in use'
  )
)
我很困惑,现在已经完全复制了提供的示例,但我仍然得到了错误。我使用的是Laravel5,所以我不知道是否有一些未记录的更改,或者我只是做错了什么。我还没有在谷歌搜索中找到任何能解决这个问题的相关信息,所以我希望这里的人能够提供帮助。以下是产生错误的代码:

<?php namespace App\Http\Controllers;

use Illuminate\Routing\Controller;

use App\VarName;

class VarController extends Controller {

    public function Var()
    {
        $Variable = VarName::get();

        dd($Variable);
    }
}

使用照明\路由\控制器语句失败,因为
App\Http\Controllers
命名空间中已存在
Controller

要解决眼前的问题,可以在use语句中更改命名空间快捷方式:

use Illuminate\Routing\Controller as BaseController;
但是,针对您的特定问题的解决方案是,您可能只想删除
use-illumb\Routing\Controller语句

在Laravel 5中,
App\Http\Controllers\Controller
类已经扩展了
illumb\Routing\Controller
类。这样做的目的是,所有新控制器都应该扩展
App\Http\controllers\Controller
类。例如,查看默认的
App\Http\Controllers\HomeController
App\Http\Controllers\WelcomeController
,这两个类都扩展了
App\Http\Controllers\Controller

总之,您的两个选择是:

// rename the class in the use statement
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;

// note the name of the class being extended
class VarController extends BaseController {
    // snip
}


这是因为存在重复项

解决方案是从导入中删除副本


请参阅随附的示例

您是否定义了App\Http\Controllers\Controller类?有一个默认的控制器类,我没有创建它,但它就在那里。这与我遇到的问题有关吗?谢谢您的回答,因此我放弃了尝试Laravel 5,决定等到它是一个稳定的版本,并且有关于它与4的区别的具体文档。一直在使用4没有问题,我想我仍然会等到5是稳定的,但很高兴知道未来的参考!这似乎是laravel 5中的
:generate
中的一个bug
// extend the existing App\Http\Controllers\Controller class
namespace App\Http\Controllers;

class VarController extends Controller {
    // snip
}