我一直在研究类型提示,以满足PSR的指导,但在将模型实例传递给函数方面,我有点困惑。请参阅下面的随机示例。。。
public function interactWithOrder($order, $basket)
{
return;
}
对于上面的代码,$order将是从模型&篮子是一个阵列。提示这一点的正确方式是什么?我的建议如下。。。
public function interactWithOrder(mixed $order, array $basket)
{
return;
}
如有任何帮助,我们将不胜感激:(
在将模型实例传递到函数方面要做什么
$order将是从模型中提取的单个订单的数据集合
这取决于它是哪一个。
$order
是Order
模型吗?($order = Order::where(...)->first();
(- 它是
Order
型号中的Collection
吗?($order = Order::where(...)->get();
(
如果$order
将始终是Order
模型,那么只需键入hint即可。
public function interactWithOrder(AppModelsOrder $order, array $basket)
IlluminateDatabaseEloquentModel $order
也应该起作用。
如果$order
将始终是Order
Collection
(即使是单个订单(,那么只需键入提示即可。
public function interactWithOrder(Collection $order, array $basket)
Collection
可以是IlluminateDatabaseEloquentCollection
(特定(或IlluminateSupportCollection
(由于EloquentCollection
从其延伸而来,因此两者都可以使用(
你打算如何使用这个函数?