如何解决正确的返回类型声明-实现或接口
我想知道在PHP中实现接口的返回类型声明是否有最佳实践。
我正在编写一个使用Laravel和Inertia的开源项目。
该方法的响应是Inertia\Response
的实例,但查看该类,它实现了\Illuminate\Contracts\Support\Responsable
它们两者都可以很好地用作类型声明,但是我觉得必须有关于返回具体还是接口的最佳实践。我的想法是界面,就像这样:
/**
* Invoke our action,handle domain,respond.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Support\Responsable
*/
public function __invoke(Request $request): Responsable
{
return $this->responder->make(
$this->service->handle($request)
)->send();
}
在我看来,使用该接口使其更加灵活,我可以换出具体的东西,只要它实现了该接口,就无需更改我的类型声明。
这首先不是使用接口的目的之一吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。