У меня проблема с PHP 7 в моем коде
Конспект Класс
class FETCH_STRUCTURE{
const FETCH_ARRAY = 0;
const FETCH_OBJECT = 1;}
Метод в другом классе
public function setPostDataStructure(FETCH_STRUCTURE $postDataStructure)
{
$this->postDataStructure = $postDataStructure;
}
function getPostDataStructure():FETCH_STRUCTURE {
return $this->postDataStructure;
}
Вызов метода из класса
Uncaught TypeError: Возвращаемое значение myClass :: getPostDataStructure () должно реализовывать интерфейс FETCH_STRUCTURE, возвращаемое целое число
$this->view->setPostDataStructure( FETCH_STRUCTURE::FETCH_ARRAY );
echo $this->view->getPostDataStructure();
Как я могу решить эту проблему?
Значение FETCH_STRUCTURE::FETCH_ARRAY
целое число (0
) как определено вашей константой в FETCH_STRUCTURE
, Вы передаете это значение setPostDataStructure
метод, который в свою очередь присваивает это значение (0
) на ваш $this->postDataStructure
имущество.
Возвращаемое значение getPostDataStructure
определяется как класс FETCH_STRUCTURE
но на самом деле вы возвращаете целое число 0
,
Если вы хотите вернуть целое число, вы должны сделать это:
function getPostDataStructure():int {
return $this->postDataStructure;
}
Если вы намереваетесь вернуть экземпляр FETCH_STRUCTURE
класс вы должны задавать экземпляр этого класса с setPostDataStructure
метод.
Других решений пока нет …