CClass со статическим свойством IInterface prop. Есть метод CClass:Init(С параметром IInterface) которого принимает класс реализующий IInterface. При попытке обратиться CClass::prop вылетает ошибка Typed static property CClass::$prop must not be accessed before initialization in... Может,кто поможет?
В ошибке сказано, что надо сперва присвоить значение и только потом обращаться к переменной
Это я понял. Но объект создан...я на php не очень. Но думаю ООП везде один. Я на c# создаю метод с параметром типа интерфейс чего-то-там, и могу передать любой класс реализующий этот интерфейс. то-же само сделал на php/// ошибку выдает...
Если свойство объявлено без значения, то сперва надо присвоить значение. public function init(IInterface $prop) { $this->prop = $prop; } ну или в твоем случае self::$prop = $prop; Но для статических публичных свойств так странно делать
НЕ странно. Для всех потомков данного класса назначется одно свойство по умолчанию. но при создание объекта может передаться другое
Обсуждают сегодня