2017-04-20 233 views
0

我的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模型變壓器功能時,在考慮本

+1

Php沒有泛型。也許這個答案可以幫助你:http://stackoverflow.com/questions/9646397/does-php-have-an-answer-to-java-style-class-generics 同樣在未來PHP可以提供它:https:/ /wiki.php.net/rfc/generics –

+0

@AlexSlipknot您的評論絕對有用,它提供了我所遇到的有關PHP和泛型的最佳信息。我還及時提醒了關於Liskov替補,這是一個額外的獎勵。如果你的評論是一個答案,我會試圖接受這個解決方案。 – Rob

+1

恩,謝謝:)但這只是一個類似的問題和答案。我想你可以在提供的類似問題中添加另一個或編輯現有的答案。 –

回答