
object 类型参数兼容性问题
在定义接口方法 save 时,你将参数类型指定为 object,但实际实现类中,你使用了一个特定类 AdminRequest 作为参数类型。这导致了类型不兼容错误,提示 “参数必须兼容对象类型”。
解决方案
明确指定正确的类型:
由于你明确需要接收 AdminRequest 对象,因此应在接口中直接指定该类型作为参数,而不是使用 “object”。这样,你将确保实现类始终传递正确的类型。使用父类或接口:
由于你有多个 “xxxRequest” 类,并且它们都继承自 Laravel 的 Request,因此可以在接口参数中使用 Request 作为父类或接口类型。这样,任何继承自 Request 的类都可以作为参数传递,满足你的需求。
注意事项
使用 PHP 7.2 版本,object 才能作为类型提示合法使用。object 是一种特殊类型,不属于任何类层次结构,也不支持 is_a() 检查。协变与逆变原则适用于子类、父类和接口之间的类型提示。
以上就是接口方法参数类型object兼容性问题:如何解决“参数必须兼容对象类型”错误?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1250867.html
微信扫一扫
支付宝扫一扫