接口方法参数类型object兼容性问题:如何解决“参数必须兼容对象类型”错误?

接口方法参数类型object兼容性问题:如何解决“参数必须兼容对象类型”错误?

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 22:37:50
下一篇 2025年12月8日 10:52:19

相关推荐

发表回复

登录后才能评论
关注微信