我正在从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();
});
}
我在这里使用单例函数做错了什么?
谢谢!
答案 0 :(得分:1)
这就是文档创建单例的原因:
classpath 'com.android.tools.build:gradle:3.0.0'
与你的不符。