【发布时间】:2016-11-20 00:20:31
【问题描述】:
我为我的包添加了一个控制器,我需要在这个控制器的构造函数中调用 Auth 方法,但我收到以下错误:
Container.php 第 734 行中的反射异常: 类哈希不存在
这是我的代码:
use Auth;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Session;
class CartController extends Controller
{
private $customer;
public function __construct()
{
$this->middleware('auth', ['except' => ['add']]);
$multiauth = config('cart.multiauth');
if ($multiauth) {
$guard = config('auth.defaults.guard');
$this->customer = Auth::guard($guard)->user();
} else {
$this->customer = Auth::user();
}
}
public function add()
{
// Code
}
}
当我在其他函数中添加构造函数的代码时,它可以正常工作,但是从控制器的构造函数中调用它时会失败。
我已经搜索了很多,但没有找到可行的解决方案。
【问题讨论】:
-
你做过
composer dump-autoload吗? -
hash类是否由您定义或实现?你有定制的后卫吗?hash类应该被称为Hash吗?请注意,有些操作系统区分大小写,而有些则不区分大小写! -
是的,我已经运行了'composer dump-autoload'
-
不,我没有定义哈希类,它是laravel的默认哈希类。
-
您似乎从配置文件
auth.defaults.guard中获取保护配置。检查其中是否出现hash这个词,并尝试将其更改为Hash(大写H)。
标签: php laravel-5 laravel-middleware