Класс доступа от помощника в контроллере Laravel

Я создал хелпер и пытаюсь использовать его в одном из своих контроллеров, но получаю ошибку, не знаю почему.

//StringHelper.php
namespace App\Helpers;

class StringHelper
{
    public function example($str1){
        //CODE
    }
}


//config/app.php
'aliases' => [
    'StringHelper' => App\Helpers\StringHelper::class,
]


//In controller 
use StringHelper;

$percentage = StringHelper::example($title);

Нестатический метод App\Helpers\StringHelper::example() не должен вызываться статически


person Beusebiu    schedule 23.03.2020    source источник


Ответы (1)


Поскольку метод example($str1) не является статическим, вам нужно вызывать его по экземпляру.

Я думаю, что вы вызываете методы другого экземпляра в example, поэтому простой способ - вызвать метод по экземпляру.

$helper = new StringHelper();
$percentage = $helper->example($title);

Или вам нужно определить все эти методы как статические.

person TsaiKoga    schedule 23.03.2020
comment
Я также меняю «use» на «use App\Helpers\StringHelper», и это работает, спасибо! - person Beusebiu; 23.03.2020