Joomla CMS  3.10.11 (avec JPlatform 13.1 inclus)
Documentation des API du CMS Joomla en version 3.10.11 et du framework Joomla Platform intégré
Référence de la classe Container
+ Graphe d'héritage de Container:

Fonctions membres publiques

 __construct (ContainerInterface $parent=null)
 
 alias ($alias, $key)
 
 tag ($tag, array $keys)
 
 getTagged ($tag)
 
 buildObject ($key, $shared=false)
 
 buildSharedObject ($key)
 
 createChild ()
 
 extend ($key, \Closure $callable)
 
 set ($key, $value, $shared=false, $protected=false)
 
 protect ($key, $value, $shared=false)
 
 share ($key, $value, $protected=false)
 
 get ($key, $forceNew=false)
 
 has ($key)
 
 exists ($key)
 
 getNewInstance ($key)
 
 registerServiceProvider (ServiceProviderInterface $provider)
 
 getKeys ()
 
- Fonctions membres publiques hérités de ContainerInterface
 get ($id)
 

Fonctions membres protégées

 resolveAlias ($key)
 
 getMethodArgs (\ReflectionMethod $method)
 
 getRaw ($key)
 

Attributs protégés

 $aliases = array()
 
 $instances = array()
 
 $dataStore = array()
 
 $parent
 
 $tags = array()
 

Description détaillée

The Container class.

Depuis
1.0

Documentation des constructeurs et destructeur

◆ __construct()

__construct ( ContainerInterface  $parent = null)

Constructor for the DI Container

Paramètres
ContainerInterface$parentParent for hierarchical containers.
Depuis
1.0

Références Container\$parent, et parent.

Documentation des fonctions membres

◆ alias()

alias (   $alias,
  $key 
)

Create an alias for a given key for easy access.

Paramètres
string$aliasThe alias name
string$keyThe key to alias
Renvoie
Container This object for chaining.
Depuis
1.0

Références $key.

◆ buildObject()

buildObject (   $key,
  $shared = false 
)

Build an object of class $key;

Paramètres
string$keyThe class name to build.
boolean$sharedTrue to create a shared resource.
Renvoie
object|false Instance of class specified by $key with all dependencies injected. Returns an object if the class exists and false otherwise
Depuis
1.0

Références $key, Container\getMethodArgs(), Container\has(), null, et Container\resolveAlias().

Référencé par Container\buildSharedObject(), et Container\getMethodArgs().

◆ buildSharedObject()

buildSharedObject (   $key)

Convenience method for building a shared object.

Paramètres
string$keyThe class name to build.
Renvoie
object|false Instance of class specified by $key with all dependencies injected. Returns an object if the class exists and false otherwise
Depuis
1.0

Références $key, et Container\buildObject().

◆ createChild()

createChild ( )

Create a child Container with a new property scope that that has the ability to access the parent scope when resolving.

Renvoie
Container This object for chaining.
Depuis
1.0

◆ exists()

exists (   $key)

Method to check if specified dataStore key exists.

Paramètres
string$keyName of the dataStore key to check.
Renvoie
boolean True for success
Depuis
1.0
Obsolète:
3.0 Use ContainerInterface::has() instead

Références $key, et Container\has().

◆ extend()

extend (   $key,
\Closure  $callable 
)

Extend a defined service Closure by wrapping the existing one with a new Closure. This works very similar to a decorator pattern. Note that this only works on service Closures that have been defined in the current Provider, not parent providers.

Paramètres
string$keyThe unique identifier for the Closure or property.
\Closure$callableA Closure to wrap the original service Closure.
Renvoie
void
Depuis
1.0
Exceptions
KeyNotFoundException

Références $key, Container\getRaw(), null, et Container\resolveAlias().

◆ get()

get (   $key,
  $forceNew = false 
)

Method to retrieve the results of running the $callback for the specified $key;

Paramètres
string$keyName of the dataStore key to get.
boolean$forceNewTrue to force creation and return of a new instance.
Renvoie
mixed Results of running the $callback for the specified $key.
Depuis
1.0
Exceptions
KeyNotFoundException

Références $key, Container\getRaw(), null, et Container\resolveAlias().

◆ getKeys()

getKeys ( )

Retrieve the keys for services assigned to this container.

Renvoie
array
Depuis
1.5.0

◆ getMethodArgs()

getMethodArgs ( \ReflectionMethod  $method)
protected

Build an array of constructor parameters.

Paramètres
\ReflectionMethod$methodMethod for which to build the argument array.
Renvoie
array Array of arguments to pass to the method.
Depuis
1.0
Exceptions
DependencyResolutionException

Références $param, Container\buildObject(), Container\getRaw(), et null.

Référencé par Container\buildObject().

◆ getNewInstance()

getNewInstance (   $key)

Method to force the container to return a new instance of the results of the callback for requested $key.

Paramètres
string$keyName of the dataStore key to get.
Renvoie
mixed Results of running the $callback for the specified $key.
Depuis
1.0

Références $key.

◆ getRaw()

getRaw (   $key)
protected

Get the raw data assigned to a key.

Paramètres
string$keyThe key for which to get the stored item.
Renvoie
mixed
Depuis
1.0

Références $key, null, parent, et Container\resolveAlias().

Référencé par Container\extend(), Container\get(), Container\getMethodArgs(), et Container\has().

◆ getTagged()

getTagged (   $tag)

Fetch all services registered to the given tag.

Paramètres
string$tagThe tag name
Renvoie
array The resolved services for the given tag
Depuis
1.5.0

◆ has()

has (   $key)

Method to check if specified dataStore key exists.

Paramètres
string$keyName of the dataStore key to check.
Renvoie
boolean True for success
Depuis
1.5.0

Implémente ContainerInterface.

Références $key, Container\getRaw(), parent, et Container\resolveAlias().

Référencé par Container\buildObject(), et Container\exists().

◆ protect()

protect (   $key,
  $value,
  $shared = false 
)

Convenience method for creating protected keys.

Paramètres
string$keyName of dataStore key to set.
mixed$valueCallable function to run or string to retrive when requesting the specified $key.
boolean$sharedTrue to create and store a shared instance.
Renvoie
Container This object for chaining.
Depuis
1.0

Références $key, et $value.

◆ registerServiceProvider()

registerServiceProvider ( ServiceProviderInterface  $provider)

Register a service provider to the container.

Paramètres
ServiceProviderInterface$providerThe service provider to register.
Renvoie
Container This object for chaining.
Depuis
1.0

Références ServiceProviderInterface\register().

◆ resolveAlias()

resolveAlias (   $key)
protected

Search the aliases property for a matching alias key.

Paramètres
string$keyThe key to search for.
Renvoie
string
Depuis
1.0

Références $key, et parent.

Référencé par Container\buildObject(), Container\extend(), Container\get(), Container\getRaw(), Container\has(), et Container\tag().

◆ set()

set (   $key,
  $value,
  $shared = false,
  $protected = false 
)

Method to set the key and callback to the dataStore array.

Paramètres
string$keyName of dataStore key to set.
mixed$valueCallable function to run or string to retrive when requesting the specified $key.
boolean$sharedTrue to create and store a shared instance.
boolean$protectedTrue to protect this item from being overwritten. Useful for services.
Renvoie
Container This object for chaining.
Depuis
1.0
Exceptions
ProtectedKeyExceptionThrown if the provided key is already set and is protected.

Références $key, et $value.

◆ share()

share (   $key,
  $value,
  $protected = false 
)

Convenience method for creating shared keys.

Paramètres
string$keyName of dataStore key to set.
mixed$valueCallable function to run or string to retrive when requesting the specified $key.
boolean$protectedTrue to protect this item from being overwritten. Useful for services.
Renvoie
Container This object for chaining.
Depuis
1.0

Références $key, et $value.

◆ tag()

tag (   $tag,
array  $keys 
)

Assign a tag to services.

Paramètres
string$tagThe tag name
array$keysThe service keys to tag
Renvoie
Container This object for chaining.
Depuis
1.5.0

Références $key, et Container\resolveAlias().

Documentation des champs

◆ $aliases

$aliases = array()
protected

◆ $dataStore

$dataStore = array()
protected

◆ $instances

$instances = array()
protected

◆ $parent

$parent
protected

Référencé par Container\__construct().

◆ $tags

$tags = array()
protected

La documentation de cette classe a été générée à partir du fichier suivant :