如何访问Tracker(antonioribeiro / tracker)对象在Laravel中

时间:2016-08-11 01:33:18

标签: php laravel object tracking tracker

我正在为AntonioRiveiro/Tracker应用使用laravel个回复。我想为它添加一些没有开箱即用的功能。

  1. 但我无法找到其实例的创建位置,或者如何访问我的控制器中的Tracker对象。

  2. 或者如何扩展跟踪器对象?

2 个答案:

答案 0 :(得分:2)

所以我认为最简单的方法是:

首先,制作自己的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即可。

查看供应商提供的文件,并向供应商维护者确定类似的架构模式,您将会很高兴。

答案 1 :(得分:1)

这个问题的答案提供了(2)的解决方案,我找到了(1)here的答案。

要访问跟踪器对象,您需要包括:

use PragmaRX\Tracker\Vendor\Laravel\Facade as tracker;

然后你会做类似的事情:

$visitor = Tracker::currentSession();

documentation

中所述