Я пытаюсь получить некоторые услуги из контейнера:
class MyController extends Controller
{
private $service;
public function __construct() {
$this->service = $this->container->get("service");
}
}
но контейнер пустой и выбрасывает исключение:
Error: Call to a member function get() on null
Как я могу сделать это работает? ps: Я не хочу, чтобы мой контроллер был сервисом.
Этот ответ неверен. Сообщение об ошибке вызывает get() на null, а код $ this-> container-> get(); поэтому свойство $ this-> container равно null. Это не вызов функции на $ this. Ниже приведен правильный ответ. Контейнер устанавливается позже с помощью установки setter, поэтому в constrictor свойство контейнера имеет значение null, еще не установленное. – Andras
Отвечено обновлено. – chalasr