PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.8.6
Kubio AI Page Builder v2.8.6
2.9.0 2.8.6 2.8.5 2.8.4 2.8.3 2.8.2 2.8.1 trunk 1.0.0 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 2.0.0 2.1.1 2.1.2 2.1.3 2.2.0 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.5 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.6.2 2.6.3 2.6.5 2.6.6 2.6.7 2.7.0 2.7.1 2.7.2 2.7.3 2.8.0
kubio / vendor / pragmarx / ia-str / src / Support / HigherOrderCollectionProxy.php
kubio / vendor / pragmarx / ia-str / src / Support Last commit date
Traits 1 year ago Arr.php 4 years ago Carbon.php 4 years ago Collection.php 1 year ago Enumerable.php 4 years ago HigherOrderCollectionProxy.php 4 years ago HigherOrderTapProxy.php 4 years ago HtmlString.php 4 years ago LazyCollection.php 4 years ago Optional.php 4 years ago Pluralizer.php 4 years ago Str.php 1 year ago alias.php 4 years ago helpers.php 4 years ago
HigherOrderCollectionProxy.php
64 lines
1 <?php
2
3 namespace IlluminateAgnostic\Str\Support;
4
5 /**
6 * @mixin \IlluminateAgnostic\Str\Support\Enumerable
7 */
8 class HigherOrderCollectionProxy
9 {
10 /**
11 * The collection being operated on.
12 *
13 * @var \IlluminateAgnostic\Str\Support\Enumerable
14 */
15 protected $collection;
16
17 /**
18 * The method being proxied.
19 *
20 * @var string
21 */
22 protected $method;
23
24 /**
25 * Create a new proxy instance.
26 *
27 * @param \IlluminateAgnostic\Str\Support\Enumerable $collection
28 * @param string $method
29 * @return void
30 */
31 public function __construct(Enumerable $collection, $method)
32 {
33 $this->method = $method;
34 $this->collection = $collection;
35 }
36
37 /**
38 * Proxy accessing an attribute onto the collection items.
39 *
40 * @param string $key
41 * @return mixed
42 */
43 public function __get($key)
44 {
45 return $this->collection->{$this->method}(function ($value) use ($key) {
46 return is_array($value) ? $value[$key] : $value->{$key};
47 });
48 }
49
50 /**
51 * Proxy a method call onto the collection items.
52 *
53 * @param string $method
54 * @param array $parameters
55 * @return mixed
56 */
57 public function __call($method, $parameters)
58 {
59 return $this->collection->{$this->method}(function ($value) use ($method, $parameters) {
60 return $value->{$method}(...$parameters);
61 });
62 }
63 }
64