我一直在研究PHP代码中的类型提示,以满足PSR指南,但对于如何将模型的实例传递给函数,我感到有点困惑。请看下面的一个随机示例。
public function interactWithOrder($order, $basket)
{
return;
}对于上面的代码,$order将是从模型中提取的单个订单的数据集合&购物篮是一个数组。提示这一点的正确方式是什么?我的建议如下...
public function interactWithOrder(mixed $order, array $basket)
{
return;
}如有任何帮助,我们将不胜感激:)
发布于 2021-03-25 00:30:16
对于将模型的实例传递给函数$order而言,要做的是为从模型中拉出的单个订单一个数据的集合
这取决于它是哪一个。
$order an Order $order = Order::where(...)->get();)?
$orderanOrder model?($order = Order::where(...)->first();)Collection of Order model?($order = Order::where(...)->get();)如果$order将始终是一个Order模型,那么只需输入hint it就可以了。
public function interactWithOrder(\App\Models\Order $order, array $basket)\Illuminate\Database\Eloquent\Model $order也应该可以工作。
如果$order将始终是Order Collection (即使是单个订单),那么只需按此方式输入提示即可。
public function interactWithOrder(Collection $order, array $basket)Collection可以是Illuminate\Database\Eloquent\Collection (特定)或Illuminate\Support\Collection (两者都可以使用,因为Eloquent\Collection是从它扩展而来的)
你打算如何使用这个函数?
https://stackoverflow.com/questions/66779960
复制相似问题