如何访问跟踪器(antonioribeiro /跟踪器)对象在Laravel
问题描述:
我正在使用AntonioRiveiro/Tracker回购为我的laravel应用程序。我想添加一些功能,它没有开箱即用。如何访问跟踪器(antonioribeiro /跟踪器)对象在Laravel
但我找不到在哪里它的实例被创建,或者如何访问
Tracker
对象在我的控制器。或者我该如何扩展跟踪器对象?
答
所以我觉得你去这个最简单的方法是:
首先,让自己的ServiceProvider
php artisan make:provider CustomTrackerServiceProvider
现在打开这个文件,我们需要做一些修改。
首先,我们需要扩展Tracker提供的ServiceProvider。
use PragmaRX\Tracker\Vendor\Laravel\ServiceProvider as TrackerServiceProvider
class CustomTrackerServiceProvider extends TrackerServiceProvider
以上use
别名不是必需的,但我更喜欢它的清晰度给出的类似命名约定的核心框架。现在
你就需要更换了PragmaRX\Tracker\Vendor\Laravel\ServiceProvider
的使用在config/app.php
文件下的providers array
config/app.php
'providers' => [
//other providers and what have you
App\Http\Providers\CustomTrackerServiceProvider::class
]
现在你必须做出改变的能力。只要它的成员不是private
,就可以覆盖核心类的默认功能。
查看供应商提供的文件,并向供应商维护人员确定类似的架构模式,然后您就可以开始使用了。
答
这个问题的答案为(2)提供了一个解决方案,我找到了答案(1)here。
要访问你需要包括跟踪器对象:如documentation描述
$visitor = Tracker::currentSession();
:
use PragmaRX\Tracker\Vendor\Laravel\Facade as tracker;
然后你会做这样的事情。
非常感谢有关如何扩展功能的全面演练! – Grigio