php - 未捕获的 TypeError:来自请求方法的 PHP
问题描述
我的代码中有 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;
}
从类调用方法
未捕获的 TypeError:myClass::getPostDataStructure() 的返回值必须实现接口 FETCH_STRUCTURE,返回整数
$this->view->setPostDataStructure( FETCH_STRUCTURE::FETCH_ARRAY );
echo $this->view->getPostDataStructure();
我该如何解决这个问题?
解决方案
的值FETCH_STRUCTURE::FETCH_ARRAY
是一个整数 ( 0
),由您的常量 in 定义FETCH_STRUCTURE
。您将该值传递给该setPostDataStructure
方法,该方法又将该值 ( 0
) 分配给您的$this->postDataStructure
属性。
的返回值getPostDataStructure
被定义为类FETCH_STRUCTURE
,但实际上您返回的是整数0
。
如果您打算返回一个整数,您应该这样做:
function getPostDataStructure():int {
return $this->postDataStructure;
}
如果您打算返回FETCH_STRUCTURE
该类的实例,则应使用该方法设置该类的实例。setPostDataStructure
推荐阅读
- javascript - Reactjs数据表分页实现中的问题
- csv - 如何遍历文件夹并将所有文件的名称添加到 Libreoffice 列中的单元格中?使用 .csv 和 Anki
- bootstrap-4 - 导航栏下拉菜单在 Blazor 服务器上不起作用
- flutter - 如何检查网页颤振元素
- android - 为什么 Android Studio 生成的adaptive-icon 裁剪图像如此之多以至于无法使用?
- cygwin - 使用 Cygwin 查找第三方库
- kotlin - 为什么 coroutineScope 会阻塞进程?
- snowflake-cloud-data-platform - 如何将 Job 中创建的 Snowflake DB 连接共享到 Talend 中的 Joblet?
- c# - 如何防止子对象与父对象一起缩小?
- python - 仅搜索/过滤与允许的组合匹配的值