Vous êtes connecté en tant que anonymous Se Deconnecter
vendor/illuminate/support/HigherOrderCollectionProxy.php
4f5a31d2
 <?php
 
 namespace Illuminate\Support;
 
 /**
  * @mixin \Illuminate\Support\Collection
  */
 class HigherOrderCollectionProxy
 {
     /**
      * The collection being operated on.
      *
      * @var \Illuminate\Support\Collection
      */
     protected $collection;
 
     /**
      * The method being proxied.
      *
      * @var string
      */
     protected $method;
 
     /**
      * Create a new proxy instance.
      *
      * @param  \Illuminate\Support\Collection  $collection
      * @param  string  $method
      * @return void
      */
     public function __construct(Collection $collection, $method)
     {
         $this->method = $method;
         $this->collection = $collection;
     }
 
     /**
      * Proxy accessing an attribute onto the collection items.
      *
      * @param  string  $key
      * @return mixed
      */
     public function __get($key)
     {
         return $this->collection->{$this->method}(function ($value) use ($key) {
             return is_array($value) ? $value[$key] : $value->{$key};
         });
     }
 
     /**
      * Proxy a method call onto the collection items.
      *
      * @param  string  $method
      * @param  array  $parameters
      * @return mixed
      */
     public function __call($method, $parameters)
     {
         return $this->collection->{$this->method}(function ($value) use ($method, $parameters) {
             return $value->{$method}(...$parameters);
         });
     }
 }