Uncaught TypeError: PHP from requests Method

Uncaught TypeError: PHP from requests Method

我的代码 PHP 7 有问题

契约Class

class FETCH_STRUCTURE{
    const FETCH_ARRAY     = 0;
    const FETCH_OBJECT    = 1;}

另一个方法Class

public function setPostDataStructure(FETCH_STRUCTURE $postDataStructure)
    {
            $this->postDataStructure = $postDataStructure;
    }

function getPostDataStructure():FETCH_STRUCTURE {
    return $this->postDataStructure;
}

从 Class

调用方法

Uncaught TypeError: Return value of myClass::getPostDataStructure() must implement interface FETCH_STRUCTURE, integer returned

$this->view->setPostDataStructure(  FETCH_STRUCTURE::FETCH_ARRAY );

echo $this->view->getPostDataStructure();

我该如何解决这个问题?

FETCH_STRUCTURE::FETCH_ARRAY 的值是一个整数 (0),由 FETCH_STRUCTURE 中的常量定义。您将该值传递给 setPostDataStructure 方法,该方法又将该值 (0) 分配给您的 $this->postDataStructure 属性.

getPostDataStructure 的 return 值被定义为 class FETCH_STRUCTURE 但实际上你是 return 整数 0 .

如果您打算 return 一个整数,您应该这样做:

function getPostDataStructure():int {
    return $this->postDataStructure;
}

如果您的意图是 return FETCH_STRUCTURE class 的实例,您应该 设置 class 的实例] 使用 setPostDataStructure 方法。