当我放:
use Spatie\Analytics\Analytics;
它给出了错误
'非静态方法不应该被静态调用'
但是当我只放:
use Analytics;
我在刷新时给出一个白页或说
“具有非复合名称“Analytics”的 use 语句无效”
开始时。
我正在使用 Laravel 5.5.4,虽然它说外观应该自动设置,但它不起作用,所以我还手动将其添加到 // config/app.php:
'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
但还是不行。
来自 github 包。有一个解决方案
php artisan config:clear
但这对我不起作用。
这个包可以通过Composer安装。
composer require spatie/laravel-analytics
在 Laravel 5.5 及更高版本中,包将自动注册服务提供者。在 Laravel 5.4 中你必须安装这个服务提供者。
config/app.php
'providers' => [
...
Spatie\Analytics\AnalyticsServiceProvider::class,
...
];
在 Laravel 5.5 及更高版本中,包将自动注册外观。在 Laravel 5.4 中,您必须手动安装 Facade。
config/app.php
'aliases' => [
...
'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
...
];
你想使用门面来访问类,你需要更改:
use Spatie\Analytics\Analytics;
至 use Analytics;
另一种方法是将其导入到您的班级中:
use Spatie\Analytics\AnalyticsFacade as Analytics
use
语句。在 Laravel 中,您还可以使用外观,而无需使用
use
导入它。 可以通过在代码调用中使用
\Analytics
来调用同一个类。示例:
\Analytics::fetchMostVisitedPages(\Period::days(7));
"spatie/laravel-analytics": "^5.0"
使用use Spatie\Analytics\Facades\Analytics;
use Spatie\Analytics\AnalyticsFacade as Analytics ;
use Spatie\Analytics\Period as Period;
像这样调用函数
$analyticsData = Analytics::fetchMostVisitedPages(Period::days(7));