File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/laravel/framework/src/Illuminate/Support
Upload
[..]
Carbon.php (2.11 KB)
Edit
Rename
Del
DefaultProviders.php (3.26 KB)
Edit
Rename
Del
Defer/
Rename
Del
Exceptions/
Rename
Del
Facades/
Rename
Del
Once.php (1.86 KB)
Edit
Rename
Del
Optional.php (2.65 KB)
Edit
Rename
Del
Queue/
Rename
Del
Testing/
Rename
Del
Traits/
Rename
Del
composer.json (2.08 KB)
Edit
Rename
Del
Edit: Optional.php
<?php namespace Illuminate\Support; use ArrayAccess; use ArrayObject; use Illuminate\Support\Traits\Macroable; class Optional implements ArrayAccess { use Macroable { __call as macroCall; } /** * The underlying object. * * @var mixed */ protected $value; /** * Create a new optional instance. * * @param mixed $value */ public function __construct($value) { $this->value = $value; } /** * Dynamically access a property on the underlying object. * * @param string $key * @return mixed */ public function __get($key) { if (is_object($this->value)) { return $this->value->{$key} ?? null; } } /** * Dynamically check a property exists on the underlying object. * * @param mixed $name * @return bool */ public function __isset($name) { if (is_object($this->value)) { return isset($this->value->{$name}); } if (is_array($this->value) || $this->value instanceof ArrayObject) { return isset($this->value[$name]); } return false; } /** * Determine if an item exists at an offset. * * @param mixed $offset * @return bool */ public function offsetExists($offset): bool { return Arr::accessible($this->value) && Arr::exists($this->value, $offset); } /** * Get an item at a given offset. * * @param mixed $offset * @return mixed */ public function offsetGet($offset): mixed { return Arr::get($this->value, $offset); } /** * Set the item at a given offset. * * @param mixed $offset * @param mixed $value * @return void */ public function offsetSet($offset, $value): void { if (Arr::accessible($this->value)) { $this->value[$offset] = $value; } } /** * Unset the item at a given offset. * * @param mixed $offset * @return void */ public function offsetUnset($offset): void { if (Arr::accessible($this->value)) { unset($this->value[$offset]); } } /** * Dynamically pass a method to the underlying object. * * @param string $method * @param array $parameters * @return mixed */ public function __call($method, $parameters) { if (static::hasMacro($method)) { return $this->macroCall($method, $parameters); } if (is_object($this->value)) { return $this->value->{$method}(...$parameters); } } }
Simpan