Laravel 5.4更新 - SHA Hasher在Singleton中未设置的非法偏移类型

时间:2017-11-23 05:26:25

标签: php laravel laravel-5

我正在从Laravel 5.3迁移到Laravel 5.4。我们有一个来自之前应用程序的自定义SHA hasher。

在Laravel 5.4补丁说明中,显示share()已被删除,singleton()将替换它。

我已启动并运行该应用程序,但新更新的hasher除外。当我将共享功能更改为单例时,我收到以下错误:

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): Illuminate\Container\Container->singleton(Object(Closure))

我有新更新的hasher如下:

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

}

我在这里使用单例函数做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

这就是文档创建单例的原因:

classpath 'com.android.tools.build:gradle:3.0.0'

与你的不符。

Laravel Docs - 5.4 - Service Container - Bindings