Как исправить «Нестатический метод Spatie \ Analytics \ Analytics :: fetchVisitorsAndPageViews () не должен вызываться статически?» - PullRequest
0 голосов
/ 03 января 2019

Когда я ставлю:

use Spatie\Analytics\Analytics;

Выдает ошибку

'Нестатический метод не должен вызываться статически'

Нокогда я только ставлю:

use Analytics;

Я выдаю белую страницу при обновлении или говорю

«Оператор использования с несоставным именем« Аналитика »не имеет никакого эффекта»

при запуске.

Я использую Laravel 5.5.4 и, хотя он говорит, что фасад должен быть настроен автоматически, он не работает, поэтому я также добавил это вручную в // config/app.php:

'Analytics' => Spatie\Analytics\AnalyticsFacade::class,

Но все равно не работает.

из пакета github.было решение

php artisan config:clear

, но оно у меня не сработало.

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Зависит от того, в каком контексте вы поместите оператор use.

В Laravel вы также можете использовать фасады, не импортируя их с use. Тот же класс можно вызвать с помощью \Analytics в кодовом вызове.

Пример:

\Analytics::fetchMostVisitedPages(\Period::days(7));

0 голосов
/ 03 января 2019

Этот пакет может быть установлен через 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 вы должны установить фасад вручную.

config / app.php

'aliases' => [
    ...
    'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
    ...
];

Вы хотите использовать фасад для доступа к классу,вам нужно будет изменить:

use Spatie\Analytics\Analytics; на use Analytics;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...