Laravel泛型集合
问题描述:
我的Java的经验告诉我,我可以创建泛型集合是这样的:Laravel泛型集合
Collection<E> collection = new Collection<E>();
我想知道这是否可能在Laravel(至少5.2 +)?我已经使用Laravel近3年了,现在才想到这一点。
当前Laravel功能:
public function transformMultiple(Collection $models){
$collection = collect();
foreach($models as $m){
$collection->push($this->transform($m));
}
return $collection;
}
假设功能使用泛型:
public function transformMultiple(Collection<Foo> $models){
$collection = collect();
foreach($models as $m){
$collection->push($this->transform($m));
}
return $collection;
}
比如我下面创建一个Laravel模型变压器功能时,在考虑本
答
由于来自@AlexSlipKnot的评论,我相信PHP目前不支持泛型;然而,it may support it in the future。他在评论中的另一个链接(对a similar question的StackOverflow答案)也为自定义实现提供了深入指导;然而,如果要开发自己的定制实施,他们需要谨防适用的O.O Design Principles。
Php没有泛型。也许这个答案可以帮助你:http://stackoverflow.com/questions/9646397/does-php-have-an-answer-to-java-style-class-generics 同样在未来PHP可以提供它:https:/ /wiki.php.net/rfc/generics –
@AlexSlipknot您的评论绝对有用,它提供了我所遇到的有关PHP和泛型的最佳信息。我还及时提醒了关于Liskov替补,这是一个额外的奖励。如果你的评论是一个答案,我会试图接受这个解决方案。 – Rob
恩,谢谢:)但这只是一个类似的问题和答案。我想你可以在提供的类似问题中添加另一个或编辑现有的答案。 –