Laravel 5.4更新-SHA HASHER非法偏移类型在Singleton中的Unset



我从Laravel 5.3迁移到Laravel 5.4。我们有一个以前的应用程序的自定义SHA HASHER。

在Laravel 5.4补丁说明中,这表明share()已被删除,singleton()是替换。

除了新更新的Hasher外,我已经启动并运行了该应用程序。当我将共享功能更改为singleton时,我会收到以下错误:

ErrorException: Illegal offset type in unset in /Applications/XAMPP/xamppfiles/htdocs/App/vendor/laravel/framework/src/Illuminate/Container/Container.php:1090
#3 /Applications/XAMPP/xamppfiles/htdocs/App/app/Libraries/SHAHashServiceProvider.php(13): IlluminateContainerContainer->singleton(Object(Closure))

我有新更新的Hasher如下:

public function register() {
    $this->app['hash'] = $this->app->singleton(function () {
        return new SHAHasher();
    });
}

Singleton功能在这里做错了什么?

谢谢!

这是文档创建单身人士所拥有的:

$this->app->singleton('HelpSpotAPI', function ($app) {
    return new HelpSpotAPI($app->make('HttpClient'));
});

与您拥有的不匹配。

laravel文档-5.4-服务容器 - 绑定

最新更新