在IoC容器上注册时,在Laravel 5中找不到类

在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

在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\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);
}