首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP7参数类型的"declaration..should兼容“

PHP7参数类型的"declaration..should兼容“
EN

Stack Overflow用户
提问于 2018-11-12 15:13:53
回答 1查看 626关注 0票数 1

我使用的是一个框架,它的方法定义了如下

代码语言:javascript
复制
class Abc {
  public function doThis($what) {
    ...
  }
}

由于我使用的是PHP 7,同时也是PHP代码的粉丝,它告诉我要定义函数参数类型,也就是说我已经在代码中编写了类:-

代码语言:javascript
复制
class Pqr extends Abc {
  public function doThis(string $what) {
    ...
  }
}

这段代码给了我警告声明:Pqr::doThis(字符串$what)应该与Abc::doThis($what)兼容。

似乎PHP在Abc类中对$what的处理方式有所不同(而不是字符串)。因为Abc是框架的一部分,我对此无能为力。我不想删除代码中的参数类型,并且希望保持cngode更严格。禁用所有警告将是个坏主意。

我们有什么更好的办法来解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-12 15:26:05

代码嗅探器很可能告诉您做一些事情,您可能希望遵循它的建议,但如果您的框架没有这样做,那么您也可能无法做到这一点。您不能将代码规则分解到框架中;您必须接受它强加给您的东西,即使这违背了code的规则。

我的建议是忽略这个问题。代码嗅探器是一个很好的工具,它的建议是值得遵循的,但有时您根本无法这样做。

如果您的目标是让您的系统显示零代码嗅探器警告,那么您可以通过在代码中显式添加标记来使代码嗅探器忽略代码中不同点的特定规则。代码嗅探器能够忽略代码的部分;这在它的高级使用文档页面中有描述。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53265046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档