Mar*_*ick 7 php laravel laravel-5
我一直在学习使用Laravel,观看Larcast并使用Docs,我遇到了一个Eloquent被描述的课程,但我遇到了错误:
at HandleExceptions->fatalExceptionFromError(
array(
'type' => '64',
'message' => 'Cannot use Illuminate\Routing\Controller as Controller because the name is already in use'
)
)
Run Code Online (Sandbox Code Playgroud)
我很困惑,现在已经复制了提供的示例,但我仍然得到错误.我正在使用Laravel 5,因此我不知道是否存在一些无证的更改或者我是否只是做错了什么.我没有找到解决问题的谷歌搜索中的任何相关内容,所以我希望有人可以提供帮助.以下是产生错误的代码:
<?php namespace App\Http\Controllers;
use Illuminate\Routing\Controller;
use App\VarName;
class VarController extends Controller {
public function Var()
{
$Variable = VarName::get();
dd($Variable);
}
}
Run Code Online (Sandbox Code Playgroud)
根据文档,这应该工作,并且在我观看的视频中,它确实有用..我错过了什么?
我尝试删除Controller类,因为它似乎是导致已经使用的错误,它破坏了一切,重新安装并尝试使用Controller,因为它扩展了雄辩的模型,但现在它说:
Pluralizer.php第258行中的ErrorException:call_user_func()期望参数1是有效的回调,mb_strtolower找不到函数或函数名无效
这超出了我对Laravel内部工作的理解,我被卡住了,我不明白这个问题,根据文档我没有看到我的代码有什么问题,这看起来就像这么简单的一步.我想要做的就是从数据库中检索信息,发生了什么?
在此先感谢您的帮助!
pat*_*cus 20
该use Illuminate\Routing\Controller;语句失败,因为命名空间中已经有一个Controller类App\Http\Controllers.
要解决紧急问题,可以在use语句上更改命名空间快捷方式:
use Illuminate\Routing\Controller as BaseController;
Run Code Online (Sandbox Code Playgroud)
但是,针对您的特定问题的解决方案是您可能只想use Illuminate\Routing\Controller;完全删除该语句.
在Laravel 5中,App\Http\Controllers\Controller该类已经扩展了Illuminate\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
}
Run Code Online (Sandbox Code Playgroud)
要么
// extend the existing App\Http\Controllers\Controller class
namespace App\Http\Controllers;
class VarController extends Controller {
// snip
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15901 次 |
| 最近记录: |