class Application extends Container implements Application, CachesConfiguration, CachesRoutes, HttpKernelInterface (View source)

Traits

Constants

VERSION

The Laravel framework version.

Properties

static protected Container $instance

The current globally available container (if any).

from  Container
protected bool[] $resolved

An array of the types that have been resolved.

from  Container
protected array[] $bindings

The container's bindings.

from  Container
protected Closure[] $methodBindings

The container's method bindings.

from  Container
protected object[] $instances

The container's shared instances.

from  Container
protected array $scopedInstances

The container's scoped instances.

from  Container
protected string[] $aliases

The registered type aliases.

from  Container
protected array[] $abstractAliases

The registered aliases keyed by the abstract name.

from  Container
protected array[] $extenders

The extension closures for services.

from  Container
protected array[] $tags

All of the registered tags.

from  Container
protected array[] $buildStack

The stack of concretions currently being built.

from  Container
protected array[] $with

The parameter override stack.

from  Container
array[] $contextual

The contextual binding map.

from  Container
array[] $contextualAttributes

The contextual attribute handlers.

from  Container
protected array[] $reboundCallbacks

All of the registered rebound callbacks.

from  Container
protected Closure[] $globalBeforeResolvingCallbacks

All of the global before resolving callbacks.

from  Container
protected Closure[] $globalResolvingCallbacks

All of the global resolving callbacks.

from  Container
protected Closure[] $globalAfterResolvingCallbacks

All of the global after resolving callbacks.

from  Container
protected array[] $beforeResolvingCallbacks

All of the before resolving callbacks by class type.

from  Container
protected array[] $resolvingCallbacks

All of the resolving callbacks by class type.

from  Container
protected array[] $afterResolvingCallbacks

All of the after resolving callbacks by class type.

from  Container
protected array[] $afterResolvingAttributeCallbacks

All of the after resolving attribute callbacks by class type.

from  Container
static protected array $macros

The registered string macros.

from  Macroable
protected string $basePath

The base path for the Laravel installation.

protected callable[] $registeredCallbacks

The array of registered callbacks.

protected bool $hasBeenBootstrapped

Indicates if the application has been bootstrapped before.

protected bool $booted

Indicates if the application has "booted".

protected callable[] $bootingCallbacks

The array of booting callbacks.

protected callable[] $bootedCallbacks

The array of booted callbacks.

protected callable[] $terminatingCallbacks

The array of terminating callbacks.

protected ServiceProvider> $serviceProviders

All of the registered service providers.

protected array $loadedProviders

The names of the loaded service providers.

protected array $deferredServices

The deferred services and their providers.

protected string $bootstrapPath

The custom bootstrap path defined by the developer.

protected string $appPath

The custom application path defined by the developer.

protected string $configPath

The custom configuration path defined by the developer.

protected string $databasePath

The custom database path defined by the developer.

protected string $langPath

The custom language file path defined by the developer.

protected string $publicPath

The custom public / web path defined by the developer.

protected string $storagePath

The custom storage path defined by the developer.

protected string $environmentPath

The custom environment path defined by the developer.

protected string $environmentFile

The environment file to load during bootstrapping.

protected bool|null $isRunningInConsole

Indicates if the application is running in the console.

protected string $namespace

The application namespace.

protected bool $mergeFrameworkConfiguration

Indicates if the framework's base configuration should be merged.

protected string[] $absoluteCachePathPrefixes

The prefixes of absolute cache paths for use during normalization.

Methods

when(string|array $concrete)

Define a contextual binding.

void
whenHasAttribute(string $attribute, Closure $handler)

Define a contextual binding based on an attribute.

bool
bound(string $abstract)

Determine if the given abstract type has been bound.

bool
has(string $id)

{@inheritdoc}

bool
resolved(string $abstract)

Determine if the given abstract type has been resolved.

bool
isShared(string $abstract)

Determine if a given type is shared.

bool
isAlias(string $name)

Determine if a given string is an alias.

void
bind(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Register a binding with the container.

getClosure(string $abstract, string $concrete)

Get the Closure to be used when building a type.

bool
hasMethodBinding(string $method)

Determine if the container has a method binding.

void
bindMethod(array|string $method, Closure $callback)

Bind a callback to resolve with Container::call.

string
parseBindMethod(array|string $method)

Get the method to be bound in class@method format.

mixed
callMethodBinding(string $method, mixed $instance)

Get the method binding for the given method.

void
addContextualBinding(string $concrete, string $abstract, Closure|string $implementation)

Add a contextual binding to the container.

void
bindIf(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Register a binding if it hasn't already been registered.

void
singleton(string $abstract, Closure|string|null $concrete = null)

Register a shared binding in the container.

void
singletonIf(string $abstract, Closure|string|null $concrete = null)

Register a shared binding if it hasn't already been registered.

void
scoped(string $abstract, Closure|string|null $concrete = null)

Register a scoped binding in the container.

void
scopedIf(string $abstract, Closure|string|null $concrete = null)

Register a scoped binding if it hasn't already been registered.

void
extend(string $abstract, Closure $closure)

"Extend" an abstract type in the container.

TInstance
instance(string $abstract, TInstance $instance)

Register an existing instance as shared in the container.

void
removeAbstractAlias(string $searched)

Remove an alias from the contextual binding alias cache.

void
tag(array|string $abstracts, array|mixed $tags)

Assign a set of tags to a given binding.

iterable
tagged(string $tag)

Resolve all of the bindings for a given tag.

void
alias(string $abstract, string $alias)

Alias a type to a different name.

mixed
rebinding(string $abstract, Closure $callback)

Bind a new callback to an abstract's rebind event.

mixed
refresh(string $abstract, mixed $target, string $method)

Refresh an instance on the given target and method.

void
rebound(string $abstract)

Fire the "rebound" callbacks for the given abstract type.

array
getReboundCallbacks(string $abstract)

Get the rebound callbacks for a given type.

wrap(Closure $callback, array $parameters = [])

Wrap the given closure such that its dependencies will be injected when executed.

mixed
call(callable|string $callback, array $parameters = [], string|null $defaultMethod = null)

Call the given Closure / class@method and inject its dependencies.

string|false
getClassForCallable(callable|string $callback)

Get the class name for the given callback, if one can be determined.

factory(string $abstract)

Get a closure to resolve the given type from the container.

mixed
makeWith(string|callable $abstract, array $parameters = [])

An alias function name for make().

mixed
make(string $abstract, array $parameters = [])

Resolve the given type from the container.

mixed
get(string $id)

{@inheritdoc}

mixed
resolve(string|callable $abstract, array $parameters = [], bool $raiseEvents = true)

Resolve the given type from the container.

mixed
getConcrete(string|callable $abstract)

Get the concrete type for a given abstract.

Closure|string|array|null
getContextualConcrete(string|callable $abstract)

Get the contextual concrete binding for the given abstract.

Closure|string|null
findInContextualBindings(string|callable $abstract)

Find the concrete binding for the given abstract in the contextual binding array.

bool
isBuildable(mixed $concrete, string $abstract)

Determine if the given concrete is buildable.

mixed
build(Closure|string $concrete)

Instantiate a concrete instance of the given type.

array
resolveDependencies(array $dependencies)

Resolve all of the dependencies from the ReflectionParameters.

bool
hasParameterOverride(ReflectionParameter $dependency)

Determine if the given dependency has a parameter override.

mixed
getParameterOverride(ReflectionParameter $dependency)

Get a parameter override for a dependency.

array
getLastParameterOverride()

Get the last parameter override.

mixed
resolvePrimitive(ReflectionParameter $parameter)

Resolve a non-class hinted primitive dependency.

mixed
resolveClass(ReflectionParameter $parameter)

Resolve a class based dependency from the container.

mixed
resolveVariadicClass(ReflectionParameter $parameter)

Resolve a class based variadic dependency from the container.

mixed
resolveFromAttribute(ReflectionAttribute $attribute)

Resolve a dependency based on an attribute.

void
notInstantiable(string $concrete)

Throw an exception that the concrete is not instantiable.

void
unresolvablePrimitive(ReflectionParameter $parameter)

Throw an exception for an unresolvable primitive.

void
beforeResolving(Closure|string $abstract, Closure|null $callback = null)

Register a new before resolving callback for all types.

void
resolving(Closure|string $abstract, Closure|null $callback = null)

Register a new resolving callback.

void
afterResolving(Closure|string $abstract, Closure|null $callback = null)

Register a new after resolving callback for all types.

void
afterResolvingAttribute(string $attribute, Closure $callback)

Register a new after resolving attribute callback for all types.

void
fireBeforeResolvingCallbacks(string $abstract, array $parameters = [])

Fire all of the before resolving callbacks.

void
fireBeforeCallbackArray(string $abstract, array $parameters, array $callbacks)

Fire an array of callbacks with an object.

void
fireResolvingCallbacks(string $abstract, mixed $object)

Fire all of the resolving callbacks.

void
fireAfterResolvingCallbacks(string $abstract, mixed $object)

Fire all of the after resolving callbacks.

void
fireAfterResolvingAttributeCallbacks(array $attributes, mixed $object)

Fire all of the after resolving attribute callbacks.

array
getCallbacksForType(string $abstract, object $object, array $callbacksPerType)

Get all callbacks for a given type.

void
fireCallbackArray(mixed $object, array $callbacks)

Fire an array of callbacks with an object.

array
getBindings()

Get the container's bindings.

string
getAlias(string $abstract)

Get the alias for an abstract if available.

array
getExtenders(string $abstract)

Get the extender callbacks for a given type.

void
forgetExtenders(string $abstract)

Remove all of the extender callbacks for a given type.

void
dropStaleInstances(string $abstract)

Drop all of the stale instances and aliases.

void
forgetInstance(string $abstract)

Remove a resolved instance from the instance cache.

void
forgetInstances()

Clear all of the instances from the container.

void
forgetScopedInstances()

Clear all of the scoped instances from the container.

void
flush()

Flush the container of all bindings and resolved instances.

static Container
getInstance()

Get the globally available instance of the container.

setInstance(Container|null $container = null)

Set the shared instance of the container.

bool
offsetExists(string $key)

Determine if a given offset exists.

mixed
offsetGet(string $key)

Get the value at a given offset.

void
offsetSet(string $key, mixed $value)

Set the value at a given offset.

void
offsetUnset(string $key)

Unset the value at a given offset.

mixed
__get(string $key)

Dynamically access container services.

void
__set(string $key, mixed $value)

Dynamically set container services.

static void
macro(string $name, object|callable $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Checks if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

void
__construct(string|null $basePath = null)

Create a new Illuminate application instance.

configure(string|null $basePath = null)

Begin configuring a new Laravel application instance.

static string
inferBasePath()

Infer the application's base directory from the environment.

string
version()

Get the version number of the application.

void
registerBaseBindings()

Register the basic bindings into the container.

void
registerBaseServiceProviders()

Register all of the base service providers.

void
bootstrapWith(array $bootstrappers)

Run the given array of bootstrap classes.

void
afterLoadingEnvironment(Closure $callback)

Register a callback to run after loading the environment.

void
beforeBootstrapping(string $bootstrapper, Closure $callback)

Register a callback to run before a bootstrapper.

void
afterBootstrapping(string $bootstrapper, Closure $callback)

Register a callback to run after a bootstrapper.

bool
hasBeenBootstrapped()

Determine if the application has been bootstrapped before.

$this
setBasePath(string $basePath)

Set the base path for the application.

void
bindPathsInContainer()

Bind all of the application paths in the container.

string
path(string $path = '')

Get the path to the application "app" directory.

$this
useAppPath(string $path)

Set the application directory.

string
basePath(string $path = '')

Get the base path of the Laravel installation.

string
bootstrapPath(string $path = '')

Get the path to the bootstrap directory.

string
getBootstrapProvidersPath()

Get the path to the service provider list in the bootstrap directory.

$this
useBootstrapPath(string $path)

Set the bootstrap file directory.

string
configPath(string $path = '')

Get the path to the application configuration files.

$this
useConfigPath(string $path)

Set the configuration directory.

string
databasePath(string $path = '')

Get the path to the database directory.

$this
useDatabasePath(string $path)

Set the database directory.

string
langPath(string $path = '')

Get the path to the language files.

$this
useLangPath(string $path)

Set the language file directory.

string
publicPath(string $path = '')

Get the path to the public / web directory.

$this
usePublicPath(string $path)

Set the public / web directory.

string
storagePath(string $path = '')

Get the path to the storage directory.

$this
useStoragePath(string $path)

Set the storage directory.

string
resourcePath(string $path = '')

Get the path to the resources directory.

string
viewPath(string $path = '')

Get the path to the views directory.

string
joinPaths(string $basePath, string $path = '')

Join the given paths together.

string
environmentPath()

Get the path to the environment file directory.

$this
useEnvironmentPath(string $path)

Set the directory for the environment file.

$this
loadEnvironmentFrom(string $file)

Set the environment file to be loaded during bootstrapping.

string
environmentFile()

Get the environment file the application is using.

string
environmentFilePath()

Get the fully qualified path to the environment file.

string|bool
environment(string|array ...$environments)

Get or check the current application environment.

bool
isLocal()

Determine if the application is in the local environment.

bool
isProduction()

Determine if the application is in the production environment.

string
detectEnvironment(Closure $callback)

Detect the application's current environment.

bool
runningInConsole()

Determine if the application is running in the console.

bool
runningConsoleCommand(string|array ...$commands)

Determine if the application is running any of the given console commands.

bool
runningUnitTests()

Determine if the application is running unit tests.

bool
hasDebugModeEnabled()

Determine if the application is running with debug mode enabled.

void
registered(callable $callback)

Register a new registered listener.

void
registerConfiguredProviders()

Register all of the configured providers.

register(ServiceProvider|string $provider, bool $force = false)

Register a service provider with the application.

getProvider(ServiceProvider|string $provider)

Get the registered service provider instance if it exists.

array
getProviders(ServiceProvider|string $provider)

Get the registered service provider instances if any exist.

resolveProvider(string $provider)

Resolve a service provider instance from the class name.

void
markAsRegistered(ServiceProvider $provider)

Mark the given provider as registered.

void
loadDeferredProviders()

Load and boot all of the remaining deferred providers.

void
loadDeferredProvider(string $service)

Load the provider for a deferred service.

void
registerDeferredProvider(string $provider, string|null $service = null)

Register a deferred provider and service.

void
loadDeferredProviderIfNeeded(string $abstract)

Load the deferred provider if the given type is a deferred service and the instance has not been loaded.

bool
isBooted()

Determine if the application has booted.

void
boot()

Boot the application's service providers.

void
bootProvider(ServiceProvider $provider)

Boot the given service provider.

void
booting(callable $callback)

Register a new boot listener.

void
booted(callable $callback)

Register a new "booted" listener.

void
fireAppCallbacks(array $callbacks)

Call the booting callbacks for the application.

Response
handle(Request $request, int $type = self::MAIN_REQUEST, bool $catch = true)

{@inheritdoc}

void
handleRequest(Request $request)

Handle the incoming HTTP request and send the response to the browser.

int
handleCommand(InputInterface $input)

Handle the incoming Artisan command.

bool
shouldMergeFrameworkConfiguration()

Determine if the framework's base configuration should be merged.

$this
dontMergeFrameworkConfiguration()

Indicate that the framework's base configuration should not be merged.

bool
shouldSkipMiddleware()

Determine if middleware has been disabled for the application.

string
getCachedServicesPath()

Get the path to the cached services.php file.

string
getCachedPackagesPath()

Get the path to the cached packages.php file.

bool
configurationIsCached()

Determine if the application configuration is cached.

string
getCachedConfigPath()

Get the path to the configuration cache file.

bool
routesAreCached()

Determine if the application routes are cached.

string
getCachedRoutesPath()

Get the path to the routes cache file.

bool
eventsAreCached()

Determine if the application events are cached.

string
getCachedEventsPath()

Get the path to the events cache file.

string
normalizeCachePath(string $key, string $default)

Normalize a relative or absolute path to a cache file.

$this
addAbsoluteCachePathPrefix(string $prefix)

Add new prefix to list of absolute path prefixes.

maintenanceMode()

Get an instance of the maintenance mode manager implementation.

bool
isDownForMaintenance()

Determine if the application is currently down for maintenance.

never
abort(int $code, string $message = '', array $headers = [])

Throw an HttpException with the given data.

terminating(callable|string $callback)

Register a terminating callback with the application.

void
terminate()

Terminate the application.

array<string,bool>
getLoadedProviders()

Get the service providers that have been loaded.

bool
providerIsLoaded(string $provider)

Determine if the given service provider is loaded.

array
getDeferredServices()

Get the application's deferred services.

void
setDeferredServices(array $services)

Set the application's deferred services.

void
addDeferredServices(array $services)

Add an array of services to the application's deferred services.

bool
isDeferredService(string $service)

Determine if the given service is a deferred service.

void
provideFacades(string $namespace)

Configure the real-time facade namespace.

string
getLocale()

Get the current application locale.

string
currentLocale()

Get the current application locale.

string
getFallbackLocale()

Get the current application fallback locale.

void
setLocale(string $locale)

Set the current application locale.

void
setFallbackLocale(string $fallbackLocale)

Set the current application fallback locale.

bool
isLocale(string $locale)

Determine if the application locale is the given locale.

void
registerCoreContainerAliases()

Register the core class aliases in the container.

string
getNamespace()

Get the application namespace.

Details

ContextualBindingBuilder when(string|array $concrete)

Define a contextual binding.

Parameters

string|array $concrete

Return Value

ContextualBindingBuilder

void whenHasAttribute(string $attribute, Closure $handler)

Define a contextual binding based on an attribute.

Parameters

string $attribute
Closure $handler

Return Value

void

bool bound(string $abstract)

Determine if the given abstract type has been bound.

Parameters

string $abstract

Return Value

bool

bool has(string $id)

{@inheritdoc}

Parameters

string $id

Return Value

bool

bool resolved(string $abstract)

Determine if the given abstract type has been resolved.

Parameters

string $abstract

Return Value

bool

bool isShared(string $abstract)

Determine if a given type is shared.

Parameters

string $abstract

Return Value

bool

bool isAlias(string $name)

Determine if a given string is an alias.

Parameters

string $name

Return Value

bool

void bind(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Register a binding with the container.

Parameters

string $abstract
Closure|string|null $concrete
bool $shared

Return Value

void

Exceptions

TypeError

protected Closure getClosure(string $abstract, string $concrete)

Get the Closure to be used when building a type.

Parameters

string $abstract
string $concrete

Return Value

Closure

bool hasMethodBinding(string $method)

Determine if the container has a method binding.

Parameters

string $method

Return Value

bool

void bindMethod(array|string $method, Closure $callback)

Bind a callback to resolve with Container::call.

Parameters

array|string $method
Closure $callback

Return Value

void

protected string parseBindMethod(array|string $method)

Get the method to be bound in class@method format.

Parameters

array|string $method

Return Value

string

mixed callMethodBinding(string $method, mixed $instance)

Get the method binding for the given method.

Parameters

string $method
mixed $instance

Return Value

mixed

void addContextualBinding(string $concrete, string $abstract, Closure|string $implementation)

Add a contextual binding to the container.

Parameters

string $concrete
string $abstract
Closure|string $implementation

Return Value

void

void bindIf(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Register a binding if it hasn't already been registered.

Parameters

string $abstract
Closure|string|null $concrete
bool $shared

Return Value

void

void singleton(string $abstract, Closure|string|null $concrete = null)

Register a shared binding in the container.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

void singletonIf(string $abstract, Closure|string|null $concrete = null)

Register a shared binding if it hasn't already been registered.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

void scoped(string $abstract, Closure|string|null $concrete = null)

Register a scoped binding in the container.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

void scopedIf(string $abstract, Closure|string|null $concrete = null)

Register a scoped binding if it hasn't already been registered.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

void extend(string $abstract, Closure $closure)

"Extend" an abstract type in the container.

Parameters

string $abstract
Closure $closure

Return Value

void

Exceptions

InvalidArgumentException

TInstance instance(string $abstract, TInstance $instance)

Register an existing instance as shared in the container.

Parameters

string $abstract
TInstance $instance

Return Value

TInstance

protected void removeAbstractAlias(string $searched)

Remove an alias from the contextual binding alias cache.

Parameters

string $searched

Return Value

void

void tag(array|string $abstracts, array|mixed $tags)

Assign a set of tags to a given binding.

Parameters

array|string $abstracts
array|mixed $tags

Return Value

void

iterable tagged(string $tag)

Resolve all of the bindings for a given tag.

Parameters

string $tag

Return Value

iterable

void alias(string $abstract, string $alias)

Alias a type to a different name.

Parameters

string $abstract
string $alias

Return Value

void

Exceptions

LogicException

mixed rebinding(string $abstract, Closure $callback)

Bind a new callback to an abstract's rebind event.

Parameters

string $abstract
Closure $callback

Return Value

mixed

mixed refresh(string $abstract, mixed $target, string $method)

Refresh an instance on the given target and method.

Parameters

string $abstract
mixed $target
string $method

Return Value

mixed

protected void rebound(string $abstract)

Fire the "rebound" callbacks for the given abstract type.

Parameters

string $abstract

Return Value

void

protected array getReboundCallbacks(string $abstract)

Get the rebound callbacks for a given type.

Parameters

string $abstract

Return Value

array

Closure wrap(Closure $callback, array $parameters = [])

Wrap the given closure such that its dependencies will be injected when executed.

Parameters

Closure $callback
array $parameters

Return Value

Closure

mixed call(callable|string $callback, array $parameters = [], string|null $defaultMethod = null)

Call the given Closure / class@method and inject its dependencies.

Parameters

callable|string $callback
array $parameters
string|null $defaultMethod

Return Value

mixed

Exceptions

InvalidArgumentException

protected string|false getClassForCallable(callable|string $callback)

Get the class name for the given callback, if one can be determined.

Parameters

callable|string $callback

Return Value

string|false

Closure factory(string $abstract)

Get a closure to resolve the given type from the container.

Parameters

string $abstract

Return Value

Closure

mixed makeWith(string|callable $abstract, array $parameters = [])

An alias function name for make().

Parameters

string|callable $abstract
array $parameters

Return Value

mixed

Exceptions

BindingResolutionException

mixed make(string $abstract, array $parameters = [])

Resolve the given type from the container.

Parameters

string $abstract
array $parameters

Return Value

mixed

Exceptions

BindingResolutionException

mixed get(string $id)

{@inheritdoc}

Parameters

string $id

Return Value

mixed

protected mixed resolve(string|callable $abstract, array $parameters = [], bool $raiseEvents = true)

Resolve the given type from the container.

Parameters

string|callable $abstract
array $parameters
bool $raiseEvents

Return Value

mixed

Exceptions

BindingResolutionException
CircularDependencyException

protected mixed getConcrete(string|callable $abstract)

Get the concrete type for a given abstract.

Parameters

string|callable $abstract

Return Value

mixed

protected Closure|string|array|null getContextualConcrete(string|callable $abstract)

Get the contextual concrete binding for the given abstract.

Parameters

string|callable $abstract

Return Value

Closure|string|array|null

protected Closure|string|null findInContextualBindings(string|callable $abstract)

Find the concrete binding for the given abstract in the contextual binding array.

Parameters

string|callable $abstract

Return Value

Closure|string|null

protected bool isBuildable(mixed $concrete, string $abstract)

Determine if the given concrete is buildable.

Parameters

mixed $concrete
string $abstract

Return Value

bool

mixed build(Closure|string $concrete)

Instantiate a concrete instance of the given type.

Parameters

Closure|string $concrete

Return Value

mixed

Exceptions

BindingResolutionException
CircularDependencyException

protected array resolveDependencies(array $dependencies)

Resolve all of the dependencies from the ReflectionParameters.

Parameters

array $dependencies

Return Value

array

Exceptions

BindingResolutionException

protected bool hasParameterOverride(ReflectionParameter $dependency)

Determine if the given dependency has a parameter override.

Parameters

ReflectionParameter $dependency

Return Value

bool

protected mixed getParameterOverride(ReflectionParameter $dependency)

Get a parameter override for a dependency.

Parameters

ReflectionParameter $dependency

Return Value

mixed

protected array getLastParameterOverride()

Get the last parameter override.

Return Value

array

protected mixed resolvePrimitive(ReflectionParameter $parameter)

Resolve a non-class hinted primitive dependency.

Parameters

ReflectionParameter $parameter

Return Value

mixed

Exceptions

BindingResolutionException

protected mixed resolveClass(ReflectionParameter $parameter)

Resolve a class based dependency from the container.

Parameters

ReflectionParameter $parameter

Return Value

mixed

Exceptions

BindingResolutionException

protected mixed resolveVariadicClass(ReflectionParameter $parameter)

Resolve a class based variadic dependency from the container.

Parameters

ReflectionParameter $parameter

Return Value

mixed

mixed resolveFromAttribute(ReflectionAttribute $attribute)

Resolve a dependency based on an attribute.

Parameters

ReflectionAttribute $attribute

Return Value

mixed

protected void notInstantiable(string $concrete)

Throw an exception that the concrete is not instantiable.

Parameters

string $concrete

Return Value

void

Exceptions

BindingResolutionException

protected void unresolvablePrimitive(ReflectionParameter $parameter)

Throw an exception for an unresolvable primitive.

Parameters

ReflectionParameter $parameter

Return Value

void

Exceptions

BindingResolutionException

void beforeResolving(Closure|string $abstract, Closure|null $callback = null)

Register a new before resolving callback for all types.

Parameters

Closure|string $abstract
Closure|null $callback

Return Value

void

void resolving(Closure|string $abstract, Closure|null $callback = null)

Register a new resolving callback.

Parameters

Closure|string $abstract
Closure|null $callback

Return Value

void

void afterResolving(Closure|string $abstract, Closure|null $callback = null)

Register a new after resolving callback for all types.

Parameters

Closure|string $abstract
Closure|null $callback

Return Value

void

void afterResolvingAttribute(string $attribute, Closure $callback)

Register a new after resolving attribute callback for all types.

Parameters

string $attribute
Closure $callback

Return Value

void

protected void fireBeforeResolvingCallbacks(string $abstract, array $parameters = [])

Fire all of the before resolving callbacks.

Parameters

string $abstract
array $parameters

Return Value

void

protected void fireBeforeCallbackArray(string $abstract, array $parameters, array $callbacks)

Fire an array of callbacks with an object.

Parameters

string $abstract
array $parameters
array $callbacks

Return Value

void

protected void fireResolvingCallbacks(string $abstract, mixed $object)

Fire all of the resolving callbacks.

Parameters

string $abstract
mixed $object

Return Value

void

protected void fireAfterResolvingCallbacks(string $abstract, mixed $object)

Fire all of the after resolving callbacks.

Parameters

string $abstract
mixed $object

Return Value

void

void fireAfterResolvingAttributeCallbacks(array $attributes, mixed $object)

Fire all of the after resolving attribute callbacks.

Parameters

array $attributes
mixed $object

Return Value

void

protected array getCallbacksForType(string $abstract, object $object, array $callbacksPerType)

Get all callbacks for a given type.

Parameters

string $abstract
object $object
array $callbacksPerType

Return Value

array

protected void fireCallbackArray(mixed $object, array $callbacks)

Fire an array of callbacks with an object.

Parameters

mixed $object
array $callbacks

Return Value

void

array getBindings()

Get the container's bindings.

Return Value

array

string getAlias(string $abstract)

Get the alias for an abstract if available.

Parameters

string $abstract

Return Value

string

protected array getExtenders(string $abstract)

Get the extender callbacks for a given type.

Parameters

string $abstract

Return Value

array

void forgetExtenders(string $abstract)

Remove all of the extender callbacks for a given type.

Parameters

string $abstract

Return Value

void

protected void dropStaleInstances(string $abstract)

Drop all of the stale instances and aliases.

Parameters

string $abstract

Return Value

void

void forgetInstance(string $abstract)

Remove a resolved instance from the instance cache.

Parameters

string $abstract

Return Value

void

void forgetInstances()

Clear all of the instances from the container.

Return Value

void

void forgetScopedInstances()

Clear all of the scoped instances from the container.

Return Value

void

void flush()

Flush the container of all bindings and resolved instances.

Return Value

void

static Container getInstance()

Get the globally available instance of the container.

Return Value

Container

static Container|Container setInstance(Container|null $container = null)

Set the shared instance of the container.

Parameters

Container|null $container

Return Value

Container|Container

bool offsetExists(string $key)

Determine if a given offset exists.

Parameters

string $key

Return Value

bool

mixed offsetGet(string $key)

Get the value at a given offset.

Parameters

string $key

Return Value

mixed

void offsetSet(string $key, mixed $value)

Set the value at a given offset.

Parameters

string $key
mixed $value

Return Value

void

void offsetUnset(string $key)

Unset the value at a given offset.

Parameters

string $key

Return Value

void

mixed __get(string $key)

Dynamically access container services.

Parameters

string $key

Return Value

mixed

void __set(string $key, mixed $value)

Dynamically set container services.

Parameters

string $key
mixed $value

Return Value

void

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(string|null $basePath = null)

Create a new Illuminate application instance.

Parameters

string|null $basePath

Return Value

void

static ApplicationBuilder configure(string|null $basePath = null)

Begin configuring a new Laravel application instance.

Parameters

string|null $basePath

Return Value

ApplicationBuilder

static string inferBasePath()

Infer the application's base directory from the environment.

Return Value

string

string version()

Get the version number of the application.

Return Value

string

protected void registerBaseBindings()

Register the basic bindings into the container.

Return Value

void

protected void registerBaseServiceProviders()

Register all of the base service providers.

Return Value

void

void bootstrapWith(array $bootstrappers)

Run the given array of bootstrap classes.

Parameters

array $bootstrappers

Return Value

void

void afterLoadingEnvironment(Closure $callback)

Register a callback to run after loading the environment.

Parameters

Closure $callback

Return Value

void

void beforeBootstrapping(string $bootstrapper, Closure $callback)

Register a callback to run before a bootstrapper.

Parameters

string $bootstrapper
Closure $callback

Return Value

void

void afterBootstrapping(string $bootstrapper, Closure $callback)

Register a callback to run after a bootstrapper.

Parameters

string $bootstrapper
Closure $callback

Return Value

void

bool hasBeenBootstrapped()

Determine if the application has been bootstrapped before.

Return Value

bool

$this setBasePath(string $basePath)

Set the base path for the application.

Parameters

string $basePath

Return Value

$this

protected void bindPathsInContainer()

Bind all of the application paths in the container.

Return Value

void

string path(string $path = '')

Get the path to the application "app" directory.

Parameters

string $path

Return Value

string

$this useAppPath(string $path)

Set the application directory.

Parameters

string $path

Return Value

$this

string basePath(string $path = '')

Get the base path of the Laravel installation.

Parameters

string $path

Return Value

string

string bootstrapPath(string $path = '')

Get the path to the bootstrap directory.

Parameters

string $path

Return Value

string

string getBootstrapProvidersPath()

Get the path to the service provider list in the bootstrap directory.

Return Value

string

$this useBootstrapPath(string $path)

Set the bootstrap file directory.

Parameters

string $path

Return Value

$this

string configPath(string $path = '')

Get the path to the application configuration files.

Parameters

string $path

Return Value

string

$this useConfigPath(string $path)

Set the configuration directory.

Parameters

string $path

Return Value

$this

string databasePath(string $path = '')

Get the path to the database directory.

Parameters

string $path

Return Value

string

$this useDatabasePath(string $path)

Set the database directory.

Parameters

string $path

Return Value

$this

string langPath(string $path = '')

Get the path to the language files.

Parameters

string $path

Return Value

string

$this useLangPath(string $path)

Set the language file directory.

Parameters

string $path

Return Value

$this

string publicPath(string $path = '')

Get the path to the public / web directory.

Parameters

string $path

Return Value

string

$this usePublicPath(string $path)

Set the public / web directory.

Parameters

string $path

Return Value

$this

string storagePath(string $path = '')

Get the path to the storage directory.

Parameters

string $path

Return Value

string

$this useStoragePath(string $path)

Set the storage directory.

Parameters

string $path

Return Value

$this

string resourcePath(string $path = '')

Get the path to the resources directory.

Parameters

string $path

Return Value

string

string viewPath(string $path = '')

Get the path to the views directory.

This method returns the first configured path in the array of view paths.

Parameters

string $path

Return Value

string

string joinPaths(string $basePath, string $path = '')

Join the given paths together.

Parameters

string $basePath
string $path

Return Value

string

string environmentPath()

Get the path to the environment file directory.

Return Value

string

$this useEnvironmentPath(string $path)

Set the directory for the environment file.

Parameters

string $path

Return Value

$this

$this loadEnvironmentFrom(string $file)

Set the environment file to be loaded during bootstrapping.

Parameters

string $file

Return Value

$this

string environmentFile()

Get the environment file the application is using.

Return Value

string

string environmentFilePath()

Get the fully qualified path to the environment file.

Return Value

string

string|bool environment(string|array ...$environments)

Get or check the current application environment.

Parameters

string|array ...$environments

Return Value

string|bool

bool isLocal()

Determine if the application is in the local environment.

Return Value

bool

bool isProduction()

Determine if the application is in the production environment.

Return Value

bool

string detectEnvironment(Closure $callback)

Detect the application's current environment.

Parameters

Closure $callback

Return Value

string

bool runningInConsole()

Determine if the application is running in the console.

Return Value

bool

bool runningConsoleCommand(string|array ...$commands)

Determine if the application is running any of the given console commands.

Parameters

string|array ...$commands

Return Value

bool

bool runningUnitTests()

Determine if the application is running unit tests.

Return Value

bool

bool hasDebugModeEnabled()

Determine if the application is running with debug mode enabled.

Return Value

bool

void registered(callable $callback)

Register a new registered listener.

Parameters

callable $callback

Return Value

void

void registerConfiguredProviders()

Register all of the configured providers.

Return Value

void

ServiceProvider register(ServiceProvider|string $provider, bool $force = false)

Register a service provider with the application.

Parameters

ServiceProvider|string $provider
bool $force

Return Value

ServiceProvider

ServiceProvider|null getProvider(ServiceProvider|string $provider)

Get the registered service provider instance if it exists.

Parameters

ServiceProvider|string $provider

Return Value

ServiceProvider|null

array getProviders(ServiceProvider|string $provider)

Get the registered service provider instances if any exist.

Parameters

ServiceProvider|string $provider

Return Value

array

ServiceProvider resolveProvider(string $provider)

Resolve a service provider instance from the class name.

Parameters

string $provider

Return Value

ServiceProvider

protected void markAsRegistered(ServiceProvider $provider)

Mark the given provider as registered.

Parameters

ServiceProvider $provider

Return Value

void

void loadDeferredProviders()

Load and boot all of the remaining deferred providers.

Return Value

void

void loadDeferredProvider(string $service)

Load the provider for a deferred service.

Parameters

string $service

Return Value

void

void registerDeferredProvider(string $provider, string|null $service = null)

Register a deferred provider and service.

Parameters

string $provider
string|null $service

Return Value

void

protected void loadDeferredProviderIfNeeded(string $abstract)

Load the deferred provider if the given type is a deferred service and the instance has not been loaded.

Parameters

string $abstract

Return Value

void

bool isBooted()

Determine if the application has booted.

Return Value

bool

void boot()

Boot the application's service providers.

Return Value

void

protected void bootProvider(ServiceProvider $provider)

Boot the given service provider.

Parameters

ServiceProvider $provider

Return Value

void

void booting(callable $callback)

Register a new boot listener.

Parameters

callable $callback

Return Value

void

void booted(callable $callback)

Register a new "booted" listener.

Parameters

callable $callback

Return Value

void

protected void fireAppCallbacks(array $callbacks)

Call the booting callbacks for the application.

Parameters

array $callbacks

Return Value

void

Response handle(Request $request, int $type = self::MAIN_REQUEST, bool $catch = true)

{@inheritdoc}

Parameters

Request $request
int $type
bool $catch

Return Value

Response

void handleRequest(Request $request)

Handle the incoming HTTP request and send the response to the browser.

Parameters

Request $request

Return Value

void

int handleCommand(InputInterface $input)

Handle the incoming Artisan command.

Parameters

InputInterface $input

Return Value

int

bool shouldMergeFrameworkConfiguration()

Determine if the framework's base configuration should be merged.

Return Value

bool

$this dontMergeFrameworkConfiguration()

Indicate that the framework's base configuration should not be merged.

Return Value

$this

bool shouldSkipMiddleware()

Determine if middleware has been disabled for the application.

Return Value

bool

string getCachedServicesPath()

Get the path to the cached services.php file.

Return Value

string

string getCachedPackagesPath()

Get the path to the cached packages.php file.

Return Value

string

bool configurationIsCached()

Determine if the application configuration is cached.

Return Value

bool

string getCachedConfigPath()

Get the path to the configuration cache file.

Return Value

string

bool routesAreCached()

Determine if the application routes are cached.

Return Value

bool

string getCachedRoutesPath()

Get the path to the routes cache file.

Return Value

string

bool eventsAreCached()

Determine if the application events are cached.

Return Value

bool

string getCachedEventsPath()

Get the path to the events cache file.

Return Value

string

protected string normalizeCachePath(string $key, string $default)

Normalize a relative or absolute path to a cache file.

Parameters

string $key
string $default

Return Value

string

$this addAbsoluteCachePathPrefix(string $prefix)

Add new prefix to list of absolute path prefixes.

Parameters

string $prefix

Return Value

$this

MaintenanceMode maintenanceMode()

Get an instance of the maintenance mode manager implementation.

Return Value

MaintenanceMode

bool isDownForMaintenance()

Determine if the application is currently down for maintenance.

Return Value

bool

never abort(int $code, string $message = '', array $headers = [])

Throw an HttpException with the given data.

Parameters

int $code
string $message
array $headers

Return Value

never

Exceptions

HttpException
NotFoundHttpException

Application terminating(callable|string $callback)

Register a terminating callback with the application.

Parameters

callable|string $callback

Return Value

Application

void terminate()

Terminate the application.

Return Value

void

array<string,bool> getLoadedProviders()

Get the service providers that have been loaded.

Return Value

array<string,bool>

bool providerIsLoaded(string $provider)

Determine if the given service provider is loaded.

Parameters

string $provider

Return Value

bool

array getDeferredServices()

Get the application's deferred services.

Return Value

array

void setDeferredServices(array $services)

Set the application's deferred services.

Parameters

array $services

Return Value

void

void addDeferredServices(array $services)

Add an array of services to the application's deferred services.

Parameters

array $services

Return Value

void

bool isDeferredService(string $service)

Determine if the given service is a deferred service.

Parameters

string $service

Return Value

bool

void provideFacades(string $namespace)

Configure the real-time facade namespace.

Parameters

string $namespace

Return Value

void

string getLocale()

Get the current application locale.

Return Value

string

string currentLocale()

Get the current application locale.

Return Value

string

string getFallbackLocale()

Get the current application fallback locale.

Return Value

string

void setLocale(string $locale)

Set the current application locale.

Parameters

string $locale

Return Value

void

void setFallbackLocale(string $fallbackLocale)

Set the current application fallback locale.

Parameters

string $fallbackLocale

Return Value

void

bool isLocale(string $locale)

Determine if the application locale is the given locale.

Parameters

string $locale

Return Value

bool

void registerCoreContainerAliases()

Register the core class aliases in the container.

Return Value

void

string getNamespace()

Get the application namespace.

Return Value

string

Exceptions

RuntimeException