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 $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