api/laravel/Container/Container.yaml

1326 lines
28 KiB
YAML
Raw Permalink Normal View History

2024-09-26 09:03:21 +00:00
name: Container
class_comment: null
dependencies:
- name: ArrayAccess
type: class
source: ArrayAccess
- name: Closure
type: class
source: Closure
- name: Exception
type: class
source: Exception
- name: BindingResolutionException
type: class
source: Illuminate\Contracts\Container\BindingResolutionException
- name: CircularDependencyException
type: class
source: Illuminate\Contracts\Container\CircularDependencyException
- name: ContainerContract
type: class
source: Illuminate\Contracts\Container\Container
- name: ContextualAttribute
type: class
source: Illuminate\Contracts\Container\ContextualAttribute
- name: LogicException
type: class
source: LogicException
- name: ReflectionAttribute
type: class
source: ReflectionAttribute
- name: ReflectionClass
type: class
source: ReflectionClass
- name: ReflectionException
type: class
source: ReflectionException
- name: ReflectionFunction
type: class
source: ReflectionFunction
- name: ReflectionParameter
type: class
source: ReflectionParameter
- name: TypeError
type: class
source: TypeError
properties:
- name: instance
visibility: protected
comment: '# * The current globally available container (if any).
# *
# * @var static'
- name: resolved
visibility: protected
comment: '# * An array of the types that have been resolved.
# *
# * @var bool[]'
- name: bindings
visibility: protected
comment: '# * The container''s bindings.
# *
# * @var array[]'
- name: methodBindings
visibility: protected
comment: '# * The container''s method bindings.
# *
# * @var \Closure[]'
- name: instances
visibility: protected
comment: '# * The container''s shared instances.
# *
# * @var object[]'
- name: scopedInstances
visibility: protected
comment: '# * The container''s scoped instances.
# *
# * @var array'
- name: aliases
visibility: protected
comment: '# * The registered type aliases.
# *
# * @var string[]'
- name: abstractAliases
visibility: protected
comment: '# * The registered aliases keyed by the abstract name.
# *
# * @var array[]'
- name: extenders
visibility: protected
comment: '# * The extension closures for services.
# *
# * @var array[]'
- name: tags
visibility: protected
comment: '# * All of the registered tags.
# *
# * @var array[]'
- name: buildStack
visibility: protected
comment: '# * The stack of concretions currently being built.
# *
# * @var array[]'
- name: with
visibility: protected
comment: '# * The parameter override stack.
# *
# * @var array[]'
- name: contextual
visibility: public
comment: '# * The contextual binding map.
# *
# * @var array[]'
- name: contextualAttributes
visibility: public
comment: '# * The contextual attribute handlers.
# *
# * @var array[]'
- name: reboundCallbacks
visibility: protected
comment: '# * All of the registered rebound callbacks.
# *
# * @var array[]'
- name: globalBeforeResolvingCallbacks
visibility: protected
comment: '# * All of the global before resolving callbacks.
# *
# * @var \Closure[]'
- name: globalResolvingCallbacks
visibility: protected
comment: '# * All of the global resolving callbacks.
# *
# * @var \Closure[]'
- name: globalAfterResolvingCallbacks
visibility: protected
comment: '# * All of the global after resolving callbacks.
# *
# * @var \Closure[]'
- name: beforeResolvingCallbacks
visibility: protected
comment: '# * All of the before resolving callbacks by class type.
# *
# * @var array[]'
- name: resolvingCallbacks
visibility: protected
comment: '# * All of the resolving callbacks by class type.
# *
# * @var array[]'
- name: afterResolvingCallbacks
visibility: protected
comment: '# * All of the after resolving callbacks by class type.
# *
# * @var array[]'
- name: afterResolvingAttributeCallbacks
visibility: protected
comment: '# * All of the after resolving attribute callbacks by class type.
# *
# * @var array[]'
methods:
- name: when
visibility: public
parameters:
- name: concrete
comment: "# * The current globally available container (if any).\n# *\n# * @var\
\ static\n# */\n# protected static $instance;\n# \n# /**\n# * An array of the\
\ types that have been resolved.\n# *\n# * @var bool[]\n# */\n# protected $resolved\
\ = [];\n# \n# /**\n# * The container's bindings.\n# *\n# * @var array[]\n# */\n\
# protected $bindings = [];\n# \n# /**\n# * The container's method bindings.\n\
# *\n# * @var \\Closure[]\n# */\n# protected $methodBindings = [];\n# \n# /**\n\
# * The container's shared instances.\n# *\n# * @var object[]\n# */\n# protected\
\ $instances = [];\n# \n# /**\n# * The container's scoped instances.\n# *\n# *\
\ @var array\n# */\n# protected $scopedInstances = [];\n# \n# /**\n# * The registered\
\ type aliases.\n# *\n# * @var string[]\n# */\n# protected $aliases = [];\n# \n\
# /**\n# * The registered aliases keyed by the abstract name.\n# *\n# * @var array[]\n\
# */\n# protected $abstractAliases = [];\n# \n# /**\n# * The extension closures\
\ for services.\n# *\n# * @var array[]\n# */\n# protected $extenders = [];\n#\
\ \n# /**\n# * All of the registered tags.\n# *\n# * @var array[]\n# */\n# protected\
\ $tags = [];\n# \n# /**\n# * The stack of concretions currently being built.\n\
# *\n# * @var array[]\n# */\n# protected $buildStack = [];\n# \n# /**\n# * The\
\ parameter override stack.\n# *\n# * @var array[]\n# */\n# protected $with =\
\ [];\n# \n# /**\n# * The contextual binding map.\n# *\n# * @var array[]\n# */\n\
# public $contextual = [];\n# \n# /**\n# * The contextual attribute handlers.\n\
# *\n# * @var array[]\n# */\n# public $contextualAttributes = [];\n# \n# /**\n\
# * All of the registered rebound callbacks.\n# *\n# * @var array[]\n# */\n# protected\
\ $reboundCallbacks = [];\n# \n# /**\n# * All of the global before resolving callbacks.\n\
# *\n# * @var \\Closure[]\n# */\n# protected $globalBeforeResolvingCallbacks =\
\ [];\n# \n# /**\n# * All of the global resolving callbacks.\n# *\n# * @var \\\
Closure[]\n# */\n# protected $globalResolvingCallbacks = [];\n# \n# /**\n# * All\
\ of the global after resolving callbacks.\n# *\n# * @var \\Closure[]\n# */\n\
# protected $globalAfterResolvingCallbacks = [];\n# \n# /**\n# * All of the before\
\ resolving callbacks by class type.\n# *\n# * @var array[]\n# */\n# protected\
\ $beforeResolvingCallbacks = [];\n# \n# /**\n# * All of the resolving callbacks\
\ by class type.\n# *\n# * @var array[]\n# */\n# protected $resolvingCallbacks\
\ = [];\n# \n# /**\n# * All of the after resolving callbacks by class type.\n\
# *\n# * @var array[]\n# */\n# protected $afterResolvingCallbacks = [];\n# \n\
# /**\n# * All of the after resolving attribute callbacks by class type.\n# *\n\
# * @var array[]\n# */\n# protected $afterResolvingAttributeCallbacks = [];\n\
# \n# /**\n# * Define a contextual binding.\n# *\n# * @param array|string $concrete\n\
# * @return \\Illuminate\\Contracts\\Container\\ContextualBindingBuilder"
- name: whenHasAttribute
visibility: public
parameters:
- name: attribute
- name: handler
comment: '# * Define a contextual binding based on an attribute.
# *
# * @param string $attribute
# * @param \Closure $handler
# * @return void'
- name: bound
visibility: public
parameters:
- name: abstract
comment: '# * Determine if the given abstract type has been bound.
# *
# * @param string $abstract
# * @return bool'
- name: has
visibility: public
parameters:
- name: id
comment: '# * {@inheritdoc}
# *
# * @return bool'
- name: resolved
visibility: public
parameters:
- name: abstract
comment: '# * Determine if the given abstract type has been resolved.
# *
# * @param string $abstract
# * @return bool'
- name: isShared
visibility: public
parameters:
- name: abstract
comment: '# * Determine if a given type is shared.
# *
# * @param string $abstract
# * @return bool'
- name: isAlias
visibility: public
parameters:
- name: name
comment: '# * Determine if a given string is an alias.
# *
# * @param string $name
# * @return bool'
- name: bind
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
- name: shared
default: 'false'
comment: '# * Register a binding with the container.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @param bool $shared
# * @return void
# *
# * @throws \TypeError'
- name: getClosure
visibility: protected
parameters:
- name: abstract
- name: concrete
comment: '# * Get the Closure to be used when building a type.
# *
# * @param string $abstract
# * @param string $concrete
# * @return \Closure'
- name: hasMethodBinding
visibility: public
parameters:
- name: method
comment: '# * Determine if the container has a method binding.
# *
# * @param string $method
# * @return bool'
- name: bindMethod
visibility: public
parameters:
- name: method
- name: callback
comment: '# * Bind a callback to resolve with Container::call.
# *
# * @param array|string $method
# * @param \Closure $callback
# * @return void'
- name: parseBindMethod
visibility: protected
parameters:
- name: method
comment: '# * Get the method to be bound in class@method format.
# *
# * @param array|string $method
# * @return string'
- name: callMethodBinding
visibility: public
parameters:
- name: method
- name: instance
comment: '# * Get the method binding for the given method.
# *
# * @param string $method
# * @param mixed $instance
# * @return mixed'
- name: addContextualBinding
visibility: public
parameters:
- name: concrete
- name: abstract
- name: implementation
comment: '# * Add a contextual binding to the container.
# *
# * @param string $concrete
# * @param string $abstract
# * @param \Closure|string $implementation
# * @return void'
- name: bindIf
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
- name: shared
default: 'false'
comment: '# * Register a binding if it hasn''t already been registered.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @param bool $shared
# * @return void'
- name: singleton
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
comment: '# * Register a shared binding in the container.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @return void'
- name: singletonIf
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
comment: '# * Register a shared binding if it hasn''t already been registered.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @return void'
- name: scoped
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
comment: '# * Register a scoped binding in the container.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @return void'
- name: scopedIf
visibility: public
parameters:
- name: abstract
- name: concrete
default: 'null'
comment: '# * Register a scoped binding if it hasn''t already been registered.
# *
# * @param string $abstract
# * @param \Closure|string|null $concrete
# * @return void'
- name: extend
visibility: public
parameters:
- name: abstract
- name: closure
comment: '# * "Extend" an abstract type in the container.
# *
# * @param string $abstract
# * @param \Closure $closure
# * @return void
# *
# * @throws \InvalidArgumentException'
- name: instance
visibility: public
parameters:
- name: abstract
- name: instance
comment: '# * Register an existing instance as shared in the container.
# *
# * @param string $abstract
# * @param mixed $instance
# * @return mixed'
- name: removeAbstractAlias
visibility: protected
parameters:
- name: searched
comment: '# * Remove an alias from the contextual binding alias cache.
# *
# * @param string $searched
# * @return void'
- name: tag
visibility: public
parameters:
- name: abstracts
- name: tags
comment: '# * Assign a set of tags to a given binding.
# *
# * @param array|string $abstracts
# * @param array|mixed ...$tags
# * @return void'
- name: tagged
visibility: public
parameters:
- name: tag
comment: '# * Resolve all of the bindings for a given tag.
# *
# * @param string $tag
# * @return iterable'
- name: alias
visibility: public
parameters:
- name: abstract
- name: alias
comment: '# * Alias a type to a different name.
# *
# * @param string $abstract
# * @param string $alias
# * @return void
# *
# * @throws \LogicException'
- name: rebinding
visibility: public
parameters:
- name: abstract
- name: callback
comment: '# * Bind a new callback to an abstract''s rebind event.
# *
# * @param string $abstract
# * @param \Closure $callback
# * @return mixed'
- name: refresh
visibility: public
parameters:
- name: abstract
- name: target
- name: method
comment: '# * Refresh an instance on the given target and method.
# *
# * @param string $abstract
# * @param mixed $target
# * @param string $method
# * @return mixed'
- name: rebound
visibility: protected
parameters:
- name: abstract
comment: '# * Fire the "rebound" callbacks for the given abstract type.
# *
# * @param string $abstract
# * @return void'
- name: getReboundCallbacks
visibility: protected
parameters:
- name: abstract
comment: '# * Get the rebound callbacks for a given type.
# *
# * @param string $abstract
# * @return array'
- name: wrap
visibility: public
parameters:
- name: callback
- name: parameters
default: '[]'
comment: '# * Wrap the given closure such that its dependencies will be injected
when executed.
# *
# * @param \Closure $callback
# * @param array $parameters
# * @return \Closure'
- name: call
visibility: public
parameters:
- name: callback
- name: parameters
default: '[]'
- name: defaultMethod
default: 'null'
comment: '# * Call the given Closure / class@method and inject its dependencies.
# *
# * @param callable|string $callback
# * @param array<string, mixed> $parameters
# * @param string|null $defaultMethod
# * @return mixed
# *
# * @throws \InvalidArgumentException'
- name: getClassForCallable
visibility: protected
parameters:
- name: callback
comment: '# * Get the class name for the given callback, if one can be determined.
# *
# * @param callable|string $callback
# * @return string|false'
- name: factory
visibility: public
parameters:
- name: abstract
comment: '# * Get a closure to resolve the given type from the container.
# *
# * @param string $abstract
# * @return \Closure'
- name: makeWith
visibility: public
parameters:
- name: abstract
- name: parameters
default: '[]'
comment: '# * An alias function name for make().
# *
# * @param string|callable $abstract
# * @param array $parameters
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: make
visibility: public
parameters:
- name: abstract
- name: parameters
default: '[]'
comment: '# * Resolve the given type from the container.
# *
# * @param string $abstract
# * @param array $parameters
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: get
visibility: public
parameters:
- name: id
comment: '# * {@inheritdoc}
# *
# * @return mixed'
- name: resolve
visibility: protected
parameters:
- name: abstract
- name: parameters
default: '[]'
- name: raiseEvents
default: 'true'
comment: '# * Resolve the given type from the container.
# *
# * @param string|callable $abstract
# * @param array $parameters
# * @param bool $raiseEvents
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException
# * @throws \Illuminate\Contracts\Container\CircularDependencyException'
- name: getConcrete
visibility: protected
parameters:
- name: abstract
comment: '# * Get the concrete type for a given abstract.
# *
# * @param string|callable $abstract
# * @return mixed'
- name: getContextualConcrete
visibility: protected
parameters:
- name: abstract
comment: '# * Get the contextual concrete binding for the given abstract.
# *
# * @param string|callable $abstract
# * @return \Closure|string|array|null'
- name: findInContextualBindings
visibility: protected
parameters:
- name: abstract
comment: '# * Find the concrete binding for the given abstract in the contextual
binding array.
# *
# * @param string|callable $abstract
# * @return \Closure|string|null'
- name: isBuildable
visibility: protected
parameters:
- name: concrete
- name: abstract
comment: '# * Determine if the given concrete is buildable.
# *
# * @param mixed $concrete
# * @param string $abstract
# * @return bool'
- name: build
visibility: public
parameters:
- name: concrete
comment: '# * Instantiate a concrete instance of the given type.
# *
# * @param \Closure|string $concrete
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException
# * @throws \Illuminate\Contracts\Container\CircularDependencyException'
- name: resolveDependencies
visibility: protected
parameters:
- name: dependencies
comment: '# * Resolve all of the dependencies from the ReflectionParameters.
# *
# * @param \ReflectionParameter[] $dependencies
# * @return array
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: hasParameterOverride
visibility: protected
parameters:
- name: dependency
comment: '# * Determine if the given dependency has a parameter override.
# *
# * @param \ReflectionParameter $dependency
# * @return bool'
- name: getParameterOverride
visibility: protected
parameters:
- name: dependency
comment: '# * Get a parameter override for a dependency.
# *
# * @param \ReflectionParameter $dependency
# * @return mixed'
- name: getLastParameterOverride
visibility: protected
parameters: []
comment: '# * Get the last parameter override.
# *
# * @return array'
- name: getContextualAttributeFromDependency
visibility: protected
parameters:
- name: dependency
comment: '# * Get a contextual attribute from a dependency.
# *
# * @param ReflectionParameter $dependency
# * @return \ReflectionAttribute|null'
- name: resolvePrimitive
visibility: protected
parameters:
- name: parameter
comment: '# * Resolve a non-class hinted primitive dependency.
# *
# * @param \ReflectionParameter $parameter
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: resolveClass
visibility: protected
parameters:
- name: parameter
comment: '# * Resolve a class based dependency from the container.
# *
# * @param \ReflectionParameter $parameter
# * @return mixed
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: resolveVariadicClass
visibility: protected
parameters:
- name: parameter
comment: '# * Resolve a class based variadic dependency from the container.
# *
# * @param \ReflectionParameter $parameter
# * @return mixed'
- name: resolveFromAttribute
visibility: protected
parameters:
- name: attribute
comment: '# * Resolve a dependency based on an attribute.
# *
# * @param \ReflectionAttribute $attribute
# * @return mixed'
- name: notInstantiable
visibility: protected
parameters:
- name: concrete
comment: '# * Throw an exception that the concrete is not instantiable.
# *
# * @param string $concrete
# * @return void
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: unresolvablePrimitive
visibility: protected
parameters:
- name: parameter
comment: '# * Throw an exception for an unresolvable primitive.
# *
# * @param \ReflectionParameter $parameter
# * @return void
# *
# * @throws \Illuminate\Contracts\Container\BindingResolutionException'
- name: beforeResolving
visibility: public
parameters:
- name: abstract
- name: callback
default: 'null'
comment: '# * Register a new before resolving callback for all types.
# *
# * @param \Closure|string $abstract
# * @param \Closure|null $callback
# * @return void'
- name: resolving
visibility: public
parameters:
- name: abstract
- name: callback
default: 'null'
comment: '# * Register a new resolving callback.
# *
# * @param \Closure|string $abstract
# * @param \Closure|null $callback
# * @return void'
- name: afterResolving
visibility: public
parameters:
- name: abstract
- name: callback
default: 'null'
comment: '# * Register a new after resolving callback for all types.
# *
# * @param \Closure|string $abstract
# * @param \Closure|null $callback
# * @return void'
- name: afterResolvingAttribute
visibility: public
parameters:
- name: attribute
- name: callback
comment: '# * Register a new after resolving attribute callback for all types.
# *
# * @param string $attribute
# * @param \Closure $callback
# * @return void'
- name: fireBeforeResolvingCallbacks
visibility: protected
parameters:
- name: abstract
- name: parameters
default: '[]'
comment: '# * Fire all of the before resolving callbacks.
# *
# * @param string $abstract
# * @param array $parameters
# * @return void'
- name: fireBeforeCallbackArray
visibility: protected
parameters:
- name: abstract
- name: parameters
- name: callbacks
comment: '# * Fire an array of callbacks with an object.
# *
# * @param string $abstract
# * @param array $parameters
# * @param array $callbacks
# * @return void'
- name: fireResolvingCallbacks
visibility: protected
parameters:
- name: abstract
- name: object
comment: '# * Fire all of the resolving callbacks.
# *
# * @param string $abstract
# * @param mixed $object
# * @return void'
- name: fireAfterResolvingCallbacks
visibility: protected
parameters:
- name: abstract
- name: object
comment: '# * Fire all of the after resolving callbacks.
# *
# * @param string $abstract
# * @param mixed $object
# * @return void'
- name: fireAfterResolvingAttributeCallbacks
visibility: protected
parameters:
- name: attributes
- name: object
comment: '# * Fire all of the after resolving attribute callbacks.
# *
# * @param \ReflectionAttribute[] $abstract
# * @param mixed $object
# * @return void'
- name: getCallbacksForType
visibility: protected
parameters:
- name: abstract
- name: object
- name: callbacksPerType
comment: '# * Get all callbacks for a given type.
# *
# * @param string $abstract
# * @param object $object
# * @param array $callbacksPerType
# * @return array'
- name: fireCallbackArray
visibility: protected
parameters:
- name: object
- name: callbacks
comment: '# * Fire an array of callbacks with an object.
# *
# * @param mixed $object
# * @param array $callbacks
# * @return void'
- name: getBindings
visibility: public
parameters: []
comment: '# * Get the container''s bindings.
# *
# * @return array'
- name: getAlias
visibility: public
parameters:
- name: abstract
comment: '# * Get the alias for an abstract if available.
# *
# * @param string $abstract
# * @return string'
- name: getExtenders
visibility: protected
parameters:
- name: abstract
comment: '# * Get the extender callbacks for a given type.
# *
# * @param string $abstract
# * @return array'
- name: forgetExtenders
visibility: public
parameters:
- name: abstract
comment: '# * Remove all of the extender callbacks for a given type.
# *
# * @param string $abstract
# * @return void'
- name: dropStaleInstances
visibility: protected
parameters:
- name: abstract
comment: '# * Drop all of the stale instances and aliases.
# *
# * @param string $abstract
# * @return void'
- name: forgetInstance
visibility: public
parameters:
- name: abstract
comment: '# * Remove a resolved instance from the instance cache.
# *
# * @param string $abstract
# * @return void'
- name: forgetInstances
visibility: public
parameters: []
comment: '# * Clear all of the instances from the container.
# *
# * @return void'
- name: forgetScopedInstances
visibility: public
parameters: []
comment: '# * Clear all of the scoped instances from the container.
# *
# * @return void'
- name: flush
visibility: public
parameters: []
comment: '# * Flush the container of all bindings and resolved instances.
# *
# * @return void'
- name: getInstance
visibility: public
parameters: []
comment: '# * Get the globally available instance of the container.
# *
# * @return static'
- name: setInstance
visibility: public
parameters:
- name: container
default: 'null'
comment: '# * Set the shared instance of the container.
# *
# * @param \Illuminate\Contracts\Container\Container|null $container
# * @return \Illuminate\Contracts\Container\Container|static'
- name: offsetExists
visibility: public
parameters:
- name: key
comment: '# * Determine if a given offset exists.
# *
# * @param string $key
# * @return bool'
- name: offsetGet
visibility: public
parameters:
- name: key
comment: '# * Get the value at a given offset.
# *
# * @param string $key
# * @return mixed'
- name: offsetSet
visibility: public
parameters:
- name: key
- name: value
comment: '# * Set the value at a given offset.
# *
# * @param string $key
# * @param mixed $value
# * @return void'
- name: offsetUnset
visibility: public
parameters:
- name: key
comment: '# * Unset the value at a given offset.
# *
# * @param string $key
# * @return void'
- name: __get
visibility: public
parameters:
- name: key
comment: '# * Dynamically access container services.
# *
# * @param string $key
# * @return mixed'
- name: __set
visibility: public
parameters:
- name: key
- name: value
comment: '# * Dynamically set container services.
# *
# * @param string $key
# * @param mixed $value
# * @return void'
traits:
- ArrayAccess
- Closure
- Exception
- Illuminate\Contracts\Container\BindingResolutionException
- Illuminate\Contracts\Container\CircularDependencyException
- Illuminate\Contracts\Container\ContextualAttribute
- LogicException
- ReflectionAttribute
- ReflectionClass
- ReflectionException
- ReflectionFunction
- ReflectionParameter
- TypeError
interfaces:
- ArrayAccess