ServiceProvider
abstract class ServiceProvider
Properties
| int | $priority | The registration priority for this provider. |
|
| protected array | $bootingCallbacks | All of the registered booting callbacks. |
|
| protected array | $bootedCallbacks | All of the registered booted callbacks. |
|
| static array | $publishes | The paths that should be published. |
|
| static array | $publishGroups | The paths that should be published by group. |
|
| static protected array | $publishableMigrationPaths | The migration paths available for publishing. |
|
| static array<string, string> | $optimizeCommands | Commands that should be run during the "optimize" command. |
|
| static array<string, string> | $optimizeClearCommands | Commands that should be run during the "optimize:clear" command. |
|
| static array<string, string> | $reloadCommands | Commands that should be run during the "reload" command. |
Methods
Determine whether this provider should be registered and booted.
Register any application services.
Call the registered booting callbacks.
Call the registered booted callbacks.
Merge the given configuration with the existing configuration.
Get configuration arrays whose entries should be merged by name.
Replace the given configuration with the existing configuration recursively.
Load the given routes file if routes are not already cached.
Register a view file namespace.
Register the given view components with a custom prefix.
Register a translation file namespace.
Register a JSON translation file path.
Register database migration paths.
Setup an after resolving listener, or fire immediately if already resolved.
Register migration paths to be published by the publish command.
Register paths to be published by the publish command.
Ensure the publish array for the service provider is initialized.
Add a publish group / tag to the service provider.
Get the paths to publish.
Get the paths for the provider or group (or both).
Get the paths for the provider and group.
Get the service providers available for publishing.
Get the migration paths available for publishing.
Get the groups available for publishing.
Add a provider to the bootstrap provider configuration file.
Remove a provider from the bootstrap provider file.
Register commands that should run on "optimize".
Register commands that should run on "reload".
Get a short descriptive key for the current service provider.
Register the package's custom Artisan commands.
Register AOP aspects.
Register class map overrides.
Replace the bootstrap provider file without exposing partial contents.
Get the default providers for a Hypervel application.
Flush all static state.
Details
at line 83
__construct(Application $app)
No description
at line 97
bool
isEnabled()
Determine whether this provider should be registered and booted.
Hypervel-specific extension (not in Laravel). Override on a subclass to gate registration on runtime config / env / feature flags. When this returns false the provider is instantiated but neither register() nor boot() is called, its bindings/singletons properties are not processed, and it is not tracked in the application's provider list.
at line 105
void
register()
Register any application services.
at line 112
void
booting(Closure $callback)
Register a booting callback to be run before the "boot" method is called.
at line 120
void
booted(Closure $callback)
Register a booted callback to be run after the "boot" method is called.
at line 128
void
callBootingCallbacks()
Call the registered booting callbacks.
at line 138
void
callBootedCallbacks()
Call the registered booted callbacks.
at line 153
protected void
mergeConfigFrom(string $path, string $key)
Merge the given configuration with the existing configuration.
Top-level keys use shallow merge (app values override package defaults). Keys declared in mergeableOptions() get an additional one-level-deeper merge so the app can add entries to collection arrays (stores, connections, guards, etc.) without losing the package's default entries.
at line 196
protected array
mergeableOptions(string $name)
Get configuration arrays whose entries should be merged by name.
Override this in a package service provider to list nested configuration arrays whose entries are named. Application entries replace package entries with the same name, while package entries not defined by the application remain. Nested arrays not listed here are replaced completely.
at line 204
protected void
replaceConfigRecursivelyFrom(string $path, string $key)
Replace the given configuration with the existing configuration recursively.
at line 229
protected void
loadRoutesFrom(string $path)
Load the given routes file if routes are not already cached.
at line 239
protected void
loadViewsFrom(array|string $path, string $namespace)
Register a view file namespace.
at line 258
protected void
loadViewComponentsAs(string $prefix, array $components)
Register the given view components with a custom prefix.
at line 274
protected void
loadTranslationsFrom(string $path, string|null $namespace = null)
Register a translation file namespace.
at line 284
protected void
loadJsonTranslationsFrom(string $path)
Register a JSON translation file path.
at line 294
protected void
loadMigrationsFrom(array|string $paths)
Register database migration paths.
at line 308
protected void
callAfterResolving(string $name, Closure $callback)
Setup an after resolving listener, or fire immediately if already resolved.
at line 320
protected void
publishesMigrations(array $paths, mixed $groups = null)
Register migration paths to be published by the publish command.
at line 337
protected void
publishes(array $paths, mixed $groups = null)
Register paths to be published by the publish command.
at line 351
protected void
ensurePublishArrayInitialized(string $class)
Ensure the publish array for the service provider is initialized.
at line 361
protected void
addPublishGroup(string $group, array $paths)
Add a publish group / tag to the service provider.
at line 376
static array
pathsToPublish(string|null $provider = null, string|null $group = null)
Get the paths to publish.
at line 393
static protected array|null
pathsForProviderOrGroup(string|null $provider, string|null $group)
Get the paths for the provider or group (or both).
Returns null when no filter is specified, allowing caller to fall back to all paths. Returns empty array when a filter is specified but not found.
at line 413
static protected array
pathsForProviderAndGroup(string $provider, string $group)
Get the paths for the provider and group.
at line 425
static array
publishableProviders()
Get the service providers available for publishing.
at line 433
static array
publishableMigrationPaths()
Get the migration paths available for publishing.
at line 441
static array
publishableGroups()
Get the groups available for publishing.
at line 449
static bool
addProviderToBootstrapFile(string $provider, string|null $path = null)
Add a provider to the bootstrap provider configuration file.
at line 487
static bool
removeProviderFromBootstrapFile(string|array $providersToRemove, string|null $path = null, bool $strict = false)
Remove a provider from the bootstrap provider file.
at line 529
protected void
optimizes(string|null $optimize = null, string|null $clear = null, string|null $key = null)
Register commands that should run on "optimize".
at line 545
protected void
reloads(string $reload, string|null $key = null)
Register commands that should run on "reload".
at line 555
protected string
getProviderKey(string|null $key = null)
Get a short descriptive key for the current service provider.
at line 574
void
commands(array $commands)
Register the package's custom Artisan commands.
at line 590
protected void
aspects(string|array $aspects)
Register AOP aspects.
Reads $classes and $priority from each aspect class's default
property values via reflection (without instantiating the aspect).
Must be called during register(), before boot().
at line 622
protected void
classMap(array $map)
Register class map overrides.
Applies entries to the Composer autoloader immediately. Fails hard if any target class is already loaded. Must be called during register(), before the target class is autoloaded.
at line 630
static protected void
replaceBootstrapProviderFile(string $path, string $content)
Replace the bootstrap provider file without exposing partial contents.
at line 652
static DefaultProviders
defaultProviders()
Get the default providers for a Hypervel application.
at line 660
static void
flushState()
Flush all static state.