Вызов функции-члена get () для null & quot; Symfony Php & quot;

Я пытаюсь получить информацию об устройствах, которые обращаются к нашему приложению. Я интегрировалMobileDetectBundle«bundle в версии php symfony 3.4 и следовал инструкциям, приведенным в документации. Но в этой строке я получаю следующую ошибку

$mobileDetector = $this->get('mobile_detect.mobile_detector');

Фрагмент кода:

$mobileDetector = $this->get('mobile_detect.mobile_detector');
$mobileDetector->isMobile();
$mobileDetector->isTablet();

Ошибка :

"Call to a member function get() on null"

Пожалуйста, помогите мне решить эту проблему.

2

Решение

Проблема с $this который предположительно является экземпляром вашего класса контроллера, но имеет значение null, что означает, что вы вызываете его где-то (возможно, внутри конструктора контроллера), где нет $this еще.

решение действительно — Внедрение Зависимости. вам лучше внедрить этот сервис в ваш контроллер (который определяется как сервис автоматически через автоматическое подключение) и использовать его внутри вашего контроллера:

class MyController
{
// ...

protected $mobileDetector;

public function __construct(MobileDetector $mobileDetector)
{
$this->mobileDetector = $mobileDetector;
$this->mobileDetector->isMobile();
$this->mobileDetector->isTablet();
}

// ...
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]