Проблема в $this
, который считается экземпляром вашего класса контроллера, но имеет значение null, что означает, что вы вызываете его где-то (возможно, внутри конструктора контроллера), где еще нет $this
.
решение действительно - инъекция зависимости.вам лучше внедрить этот сервис в ваш контроллер (который определяется как сервис автоматически через автоматическое подключение) и использовать его внутри вашего контроллера:
class MyController
{
// ...
protected $mobileDetector;
public function __construct(MobileDetector $mobileDetector)
{
$this->mobileDetector = $mobileDetector;
$this->mobileDetector->isMobile();
$this->mobileDetector->isTablet();
}
// ...
}