子方法的声明应该与父方法兼容


Declaration of Child method should be compatible to Parent Method

在Yii2上出现此错误。我不知道到底是什么问题。我只是把我的源代码从Windows移植到Mac OS。我尝试克隆我的整个项目,仍然出现错误。

common'models'Product::getAttributes()声明应该兼容yii'base'Model::getAttributes($names = NULL, $except = Array)

这些是我尝试过的事情:

  1. 将整个项目克隆到Mac OS。-存在上述错误。
  2. 将整个项目克隆到另一台windows机器。项目进行得很顺利。

我在这个项目中使用yii2。

从错误消息中可以看到,您覆盖了yii'base'Model getAttributes()方法。common'models'Productyii'db'ActiveRecord扩展而来,ActiveRecordyii'base'Model扩展而来。

如果你真的想重写这个方法,列出所有的参数(见这里),在IDE的帮助下更容易做到。顺便说一下,这是PHP的特性,与操作系统或Yii2无关。

如果它是用于其他目的的自定义方法,则需要重命名它以解决冲突。

你的方法必须接受相同的参数($names = NULL, $except = Array)