PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.2
Independent Analytics – WordPress Analytics Plugin v2.15.2
2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / support / Optional.php
independent-analytics / vendor / illuminate / support Last commit date
Exceptions 2 weeks ago Facades 2 weeks ago Testing 2 weeks ago Traits 2 weeks ago AggregateServiceProvider.php 2 years ago Benchmark.php 2 weeks ago Carbon.php 2 weeks ago Composer.php 2 weeks ago ConfigurationUrlParser.php 2 weeks ago DateFactory.php 2 weeks ago Env.php 2 weeks ago Fluent.php 2 weeks ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 2 weeks ago Lottery.php 2 weeks ago Manager.php 2 years ago MessageBag.php 2 weeks ago MultipleInstanceManager.php 2 weeks ago NamespacedItemResolver.php 2 weeks ago Optional.php 2 weeks ago Pluralizer.php 2 weeks ago ProcessUtils.php 2 weeks ago Reflector.php 2 weeks ago ServiceProvider.php 2 years ago Str.php 2 weeks ago Stringable.php 2 weeks ago Timebox.php 2 weeks ago ValidatedInput.php 2 weeks ago ViewErrorBag.php 2 weeks ago helpers.php 2 weeks ago
Optional.php
120 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Support;
4
5 use ArrayAccess;
6 use ArrayObject;
7 use IAWPSCOPED\Illuminate\Support\Traits\Macroable;
8 /** @internal */
9 class Optional implements ArrayAccess
10 {
11 use Macroable {
12 __call as macroCall;
13 }
14 /**
15 * The underlying object.
16 *
17 * @var mixed
18 */
19 protected $value;
20 /**
21 * Create a new optional instance.
22 *
23 * @param mixed $value
24 * @return void
25 */
26 public function __construct($value)
27 {
28 $this->value = $value;
29 }
30 /**
31 * Dynamically access a property on the underlying object.
32 *
33 * @param string $key
34 * @return mixed
35 */
36 public function __get($key)
37 {
38 if (\is_object($this->value)) {
39 return $this->value->{$key} ?? null;
40 }
41 }
42 /**
43 * Dynamically check a property exists on the underlying object.
44 *
45 * @param mixed $name
46 * @return bool
47 */
48 public function __isset($name)
49 {
50 if (\is_object($this->value)) {
51 return isset($this->value->{$name});
52 }
53 if (\is_array($this->value) || $this->value instanceof ArrayObject) {
54 return isset($this->value[$name]);
55 }
56 return \false;
57 }
58 /**
59 * Determine if an item exists at an offset.
60 *
61 * @param mixed $key
62 * @return bool
63 */
64 public function offsetExists($key) : bool
65 {
66 return Arr::accessible($this->value) && Arr::exists($this->value, $key);
67 }
68 /**
69 * Get an item at a given offset.
70 *
71 * @param mixed $key
72 * @return mixed
73 */
74 public function offsetGet($key) : mixed
75 {
76 return Arr::get($this->value, $key);
77 }
78 /**
79 * Set the item at a given offset.
80 *
81 * @param mixed $key
82 * @param mixed $value
83 * @return void
84 */
85 public function offsetSet($key, $value) : void
86 {
87 if (Arr::accessible($this->value)) {
88 $this->value[$key] = $value;
89 }
90 }
91 /**
92 * Unset the item at a given offset.
93 *
94 * @param string $key
95 * @return void
96 */
97 public function offsetUnset($key) : void
98 {
99 if (Arr::accessible($this->value)) {
100 unset($this->value[$key]);
101 }
102 }
103 /**
104 * Dynamically pass a method to the underlying object.
105 *
106 * @param string $method
107 * @param array $parameters
108 * @return mixed
109 */
110 public function __call($method, $parameters)
111 {
112 if (static::hasMacro($method)) {
113 return $this->macroCall($method, $parameters);
114 }
115 if (\is_object($this->value)) {
116 return $this->value->{$method}(...$parameters);
117 }
118 }
119 }
120