在IoC容器上注册时,在Laravel 5中找不到类
在Laravel5中,我尝试将MyClass添加到IoC容器中 因此,我添加了以下结构: app/Libs/MyClass.php在IoC容器上注册时,在Laravel 5中找不到类,laravel,inversion-of-control,laravel-5,Laravel,Inversion Of Control,Laravel 5,在Laravel5中,我尝试将MyClass添加到IoC容器中 因此,我添加了以下结构: app/Libs/MyClass.php 需要使用的错误行中的: $itemList = \MyClass::list($itemId); // this is line error 而不是: $itemList = MyClass::list($itemId); // this is line error 或将此文件更改为: <?php namespace App\Http\Controller
需要使用的错误行中的
:
$itemList = \MyClass::list($itemId); // this is line error
而不是:
$itemList = MyClass::list($itemId); // this is line error
或将此文件更改为:
<?php namespace App\Http\Controllers;
use MyClass;
class MyClassController {
public function index($itemId = null)
{
$itemList = MyClass::list($itemId); // this is line error
return view('item.list')->with($itemList);
}
我不能这样做,因为这样你告诉我的类应该是静态类。我知道,因为对象有一个别名,所以容器会处理其余的内容。@JulianoMartins不太清楚。如果您在这里使用MyClass::
您会告诉PHP您想从当前名称空间使用MyClass。解决此问题的唯一方法是在全局命名空间中添加前导反斜杠(如您定义的别名)以告知该类,或者使用命名空间导入和use
。若控制器不在全局命名空间中,那个么就并没有其他方法了。现在它工作得很好!非常感谢。
$itemList = MyClass::list($itemId); // this is line error
<?php namespace App\Http\Controllers;
use MyClass;
class MyClassController {
public function index($itemId = null)
{
$itemList = MyClass::list($itemId); // this is line error
return view('item.list')->with($itemList);
}