如何修复“不应静态调用非静态方法 Spatie\Analytics\Analytics::fetchVisitorsAndPageViews()?”

Ali*_*own 5 google-analytics laravel laravel-5.5

当我输入:

use Spatie\Analytics\Analytics;
Run Code Online (Sandbox Code Playgroud)

它给出了错误

“非静态方法不应被静态调用”

但是当我只输入:

use Analytics;
Run Code Online (Sandbox Code Playgroud)

我在刷新时给出一个白页或说

“具有非复合名称“Analytics”的 use 语句无效”

启动时。

我使用的是 Laravel 5.5.4,虽然它说外观应该自动设置,但它不起作用,所以我还手动将其添加到 // config/app.php 中:

'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用。

来自 github 包。有一个解决方案

php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。

Udh*_*iya 4

该软件包可以通过 Composer 安装。

composer require spatie/laravel-analytics

在 Laravel 5.5 及更高版本中,包将自动注册服务提供者。在 Laravel 5.4 中,您必须安装此服务提供程序。

配置/应用程序.php

'providers' => [
    ...
    Spatie\Analytics\AnalyticsServiceProvider::class,
    ...
];
Run Code Online (Sandbox Code Playgroud)

在 Laravel 5.5 及更高版本中,该包将自动注册外观。在 Laravel 5.4 中,您必须手动安装 Facade。

配置/应用程序.php

'aliases' => [
    ...
    'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
    ...
];
Run Code Online (Sandbox Code Playgroud)

您想使用门面来访问该类,您将需要更改:

use Spatie\Analytics\Analytics;use Analytics;