ok
Direktori : /home2/selectio/www/fms-worksuite/vendor/spatie/laravel-package-tools/src/ |
Current File : /home2/selectio/www/fms-worksuite/vendor/spatie/laravel-package-tools/src/Package.php |
<?php namespace Spatie\LaravelPackageTools; use Illuminate\Support\Str; use Spatie\LaravelPackageTools\Commands\InstallCommand; class Package { public string $name; public array $configFileNames = []; public bool $hasViews = false; public ?string $viewNamespace = null; public bool $hasTranslations = false; public bool $hasAssets = false; public bool $runsMigrations = false; public array $migrationFileNames = []; public array $routeFileNames = []; public array $commands = []; public array $consoleCommands = []; public array $viewComponents = []; public array $sharedViewData = []; public array $viewComposers = []; public string $basePath; public ?string $publishableProviderName = null; public function name(string $name): static { $this->name = $name; return $this; } public function hasConfigFile($configFileName = null): static { $configFileName = $configFileName ?? $this->shortName(); if (! is_array($configFileName)) { $configFileName = [$configFileName]; } $this->configFileNames = $configFileName; return $this; } public function publishesServiceProvider(string $providerName): static { $this->publishableProviderName = $providerName; return $this; } public function hasInstallCommand($callable): static { $installCommand = new InstallCommand($this); $callable($installCommand); $this->consoleCommands[] = $installCommand; return $this; } public function shortName(): string { return Str::after($this->name, 'laravel-'); } public function hasViews(string $namespace = null): static { $this->hasViews = true; $this->viewNamespace = $namespace; return $this; } public function hasViewComponent(string $prefix, string $viewComponentName): static { $this->viewComponents[$viewComponentName] = $prefix; return $this; } public function hasViewComponents(string $prefix, ...$viewComponentNames): static { foreach ($viewComponentNames as $componentName) { $this->viewComponents[$componentName] = $prefix; } return $this; } public function sharesDataWithAllViews(string $name, $value): static { $this->sharedViewData[$name] = $value; return $this; } public function hasViewComposer($view, $viewComposer): static { if (! is_array($view)) { $view = [$view]; } foreach ($view as $viewName) { $this->viewComposers[$viewName] = $viewComposer; } return $this; } public function hasTranslations(): static { $this->hasTranslations = true; return $this; } public function hasAssets(): static { $this->hasAssets = true; return $this; } public function runsMigrations(bool $runsMigrations = true): static { $this->runsMigrations = $runsMigrations; return $this; } public function hasMigration(string $migrationFileName): static { $this->migrationFileNames[] = $migrationFileName; return $this; } public function hasMigrations(...$migrationFileNames): static { $this->migrationFileNames = array_merge( $this->migrationFileNames, collect($migrationFileNames)->flatten()->toArray() ); return $this; } public function hasCommand(string $commandClassName): static { $this->commands[] = $commandClassName; return $this; } public function hasCommands(...$commandClassNames): static { $this->commands = array_merge($this->commands, collect($commandClassNames)->flatten()->toArray()); return $this; } public function hasConsoleCommand(string $commandClassName): static { $this->consoleCommands[] = $commandClassName; return $this; } public function hasConsoleCommands(...$commandClassNames): static { $this->consoleCommands = array_merge($this->consoleCommands, collect($commandClassNames)->flatten()->toArray()); return $this; } public function hasRoute(string $routeFileName): static { $this->routeFileNames[] = $routeFileName; return $this; } public function hasRoutes(...$routeFileNames): static { $this->routeFileNames = array_merge($this->routeFileNames, collect($routeFileNames)->flatten()->toArray()); return $this; } public function basePath(string $directory = null): string { if ($directory === null) { return $this->basePath; } return $this->basePath . DIRECTORY_SEPARATOR . ltrim($directory, DIRECTORY_SEPARATOR); } public function viewNamespace(): string { return $this->viewNamespace ?? $this->shortName(); } public function setBasePath(string $path): static { $this->basePath = $path; return $this; } }