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
Queue/
Rename
Del
Testing/
Rename
Del
Traits/
Rename
Del
composer.json (2.08 KB)
Edit
Rename
Del
Edit: Once.php
<?php namespace Illuminate\Support; use WeakMap; class Once { /** * The current globally used instance. * * @var static|null */ protected static ?self $instance = null; /** * Indicates if the once instance is enabled. * * @var bool */ protected static bool $enabled = true; /** * Create a new once instance. * * @param \WeakMap<object, array<string, mixed>> $values */ protected function __construct(protected WeakMap $values) { // } /** * Create a new once instance. * * @return static */ public static function instance() { return static::$instance ??= new static(new WeakMap); } /** * Get the value of the given onceable. * * @param Onceable $onceable * @return mixed */ public function value(Onceable $onceable) { if (! static::$enabled) { return call_user_func($onceable->callable); } $object = $onceable->object ?: $this; $hash = $onceable->hash; if (! isset($this->values[$object])) { $this->values[$object] = []; } if (array_key_exists($hash, $this->values[$object])) { return $this->values[$object][$hash]; } return $this->values[$object][$hash] = call_user_func($onceable->callable); } /** * Re-enable the once instance if it was disabled. * * @return void */ public static function enable() { static::$enabled = true; } /** * Disable the once instance. * * @return void */ public static function disable() { static::$enabled = false; } /** * Flush the once instance. * * @return void */ public static function flush() { static::$instance = null; } }
Simpan