为Laravel集合/模型键入提示闭包



我一直在研究类型提示,以满足PSR的指导,但在将模型实例传递给函数方面,我有点困惑。请参阅下面的随机示例。。。

public function interactWithOrder($order, $basket)
{
return;
}

对于上面的代码,$order将是从模型&篮子是一个阵列。提示这一点的正确方式是什么?我的建议如下。。。

public function interactWithOrder(mixed $order, array $basket)
{
return;
}

如有任何帮助,我们将不胜感激:(

在将模型实例传递到函数方面要做什么

$order将是从模型中提取的单个订单的数据集合

这取决于它是哪一个。

  • $orderOrder模型吗?($order = Order::where(...)->first();(
  • 它是Order型号中的Collection吗?($order = Order::where(...)->get();(

如果$order将始终是Order模型,那么只需键入hint即可。

public function interactWithOrder(AppModelsOrder $order, array $basket)

IlluminateDatabaseEloquentModel $order也应该起作用。

如果$order将始终是OrderCollection(即使是单个订单(,那么只需键入提示即可。

public function interactWithOrder(Collection $order, array $basket)

Collection可以是IlluminateDatabaseEloquentCollection(特定(或IlluminateSupportCollection(由于EloquentCollection从其延伸而来,因此两者都可以使用(

你打算如何使用这个函数?

最新更新