我们需要在Session::get
上做自定义逻辑,例如,出于某种原因,如果它获得null值,则在将null返回给调用者之前执行其他操作。
我们看看扩展会话here,但我们需要覆盖的处理程序是vendor/laravel/framework/src/Illuminate/Session/Store.php
,方法是get
那么,在get
实现覆盖方法vendor/laravel/framework/src/Illuminate/Session/Store.php
的推荐方法是什么?
您可以创建自己的SessionServiceProvider
,扩展Illuminate\Support\ServiceProvider\SessionServiceProvider
并覆盖registerSessionDriver()
以返回商店类的自定义实例。
然后在config / app.php中评论Illuminate\Support\ServiceProvider\SessionServiceProvider
并添加您的自定义SessionServiceProvider
。
一个工作的例子:https://gist.github.com/thiagorb/d4f4afaafa23a7a564b5675db952fbb2