在laravel 8中不应静态调用非静态方法Spatiale\Analytics\Analytics::fetchMostVisitedPages()
我正在使用laravel 8,我正在尝试使用Spatial\Analytics,但我遇到了这个错误 不应静态调用非静态方法SPATITE\Analytics\Analytics::fetchMostVisitedPages() 我试过别人的建议,但我不知道我是否遗漏了什么。所以我希望有人能检查一下,让我知道 这是我的密码在laravel 8中不应静态调用非静态方法Spatiale\Analytics\Analytics::fetchMostVisitedPages(),laravel,laravel-8,spatie,Laravel,Laravel 8,Spatie,我正在使用laravel 8,我正在尝试使用Spatial\Analytics,但我遇到了这个错误 不应静态调用非静态方法SPATITE\Analytics\Analytics::fetchMostVisitedPages() 我试过别人的建议,但我不知道我是否遗漏了什么。所以我希望有人能检查一下,让我知道 这是我的密码 <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Ht
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
use Spatie\Analytics\Analytics as Analytics;
use Spatie\Analytics\Period;
class GoogleReportController extends Controller
{
public function index()
{
$test = Analytics::fetchMostVisitedpages(Period::days(7));
dd($test);
}
}
正如您所见,分析的类方法不是静态的,因此您不能静态调用它们。它打算用作一个单例(这是有充分理由的)。Laravel为singleton类提供了“包装器”,以允许类似静态的访问,在这个库中,您可以使用如下一种:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
use Spatie\Analytics\AnalyticsFacade as Analytics; //Change here
use Spatie\Analytics\Period;
class GoogleReportController extends Controller
{
public function index()
{
$test = Analytics::fetchMostVisitedpages(Period::days(7));
dd($test);
}
}
尝试添加:使用分析;我已经这样做了,但是我的phpStorm告诉我这是一个未定义的类