class Container implements ContainerInterface (View source)

Conteneur d'injection de dépendances et middleware.

Properties

protected array $services Liste des services.
protected array $instances Liste des objets instanciés.
protected array $hooks Fonctions de hook
protected Config $config Composant de configuration.

Methods

object
__call(string $name, array $arg)

Appel un service comme une fonction.

$this
setService(string $key, string $class, array $arg = null)

Charges un service.

$this
setServices(array $services)

Charge les services.

$this
addServices(array $services)

Charge les services.

$this
setInstance(string $key, object $instance)

Ajoute une instance de service.

$this
setInstances(array $instances)

Ajoute les instances de service.

object
get(string $key)

Si le service existe alors on le retourne, sinon on injecte ses dépendances et retourne son instance.

bool
has(string $key)

Si le service existe.

$this
addHook(string $name, callable $func)

Ajoute une fonction pour qu'elle puisse être utilisée par le container.

mixed|void
callHook(string $name, array $args = [])

Demande d'exécution de fonction si elle existe.

$this
setConfig(Config $config)

Ajoute le composant de configuration pour les services.

Details

object __call(string $name, array $arg)

Appel un service comme une fonction.

Parameters

string $name Nom du service.
array $arg Paramètres passés à la fonction.

Return Value

object

$this setService(string $key, string $class, array $arg = null)

Charges un service.

Parameters

string $key Nom du service.
string $class Objet à instancier.
array $arg Arguments d'instanciation.

Return Value

$this

$this setServices(array $services)

Charge les services.

Parameters

array $services Liste de services.

Return Value

$this

$this addServices(array $services)

Charge les services.

Parameters

array $services Liste de services.

Return Value

$this

$this setInstance(string $key, object $instance)

Ajoute une instance de service.

Parameters

string $key Nom du service.
object $instance Instance du service.

Return Value

$this

$this setInstances(array $instances)

Ajoute les instances de service.

Parameters

array $instances Instances des services.

Return Value

$this

object get(string $key)

Si le service existe alors on le retourne, sinon on injecte ses dépendances et retourne son instance.

Parameters

string $key Nom du service.

Return Value

object

Exceptions

InvalidArgumentException La fonction get accepte uniquement les chaînes de caractères.
NotFoundException Le service appelé n'existe pas.
ContainerException La classe n'est pas instanciable.

bool has(string $key)

Si le service existe.

Parameters

string $key Nom du service.

Return Value

bool

Exceptions

InvalidArgumentException La fonction get accepte uniquement les chaînes de caractères.

$this addHook(string $name, callable $func)

Ajoute une fonction pour qu'elle puisse être utilisée par le container.

Parameters

string $name Clé pour appeler la fonction.
callable $func Fonction à exécuter.

Return Value

$this

mixed|void callHook(string $name, array $args = [])

Demande d'exécution de fonction si elle existe.

Utilise le container pour l'ajout des hooks depuis les fichier de services.

Parameters

string $name Clé pour appeler la fonction.
array $args Paramètres passés à la fonction.

Return Value

mixed|void le résultat des fonctions appelées ou rien

$this setConfig(Config $config)

Ajoute le composant de configuration pour les services.

Parameters

Config $config

Return Value

$this