2016-08-11 119 views

回答

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,就可以覆盖核心类的默认功能。

查看供应商提供的文件,并向供应商维护人员确定类似的架构模式,然后您就可以开始使用了。

+0

非常感谢有关如何扩展功能的全面演练! – Grigio

1

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

要访问你需要包括跟踪器对象:如documentation描述

$visitor = Tracker::currentSession(); 

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

然后你会做这样的事情。