class Container (View source)

Properties

static array $registry

Berisi list dependensi terdaftar.

static array $singletons

Berisi instance singleton yang telah diresolve.

Methods

static 
register(string $name, mixed $resolver = null, bool $singleton = false)

Daftarkan objek berikut resolvernya.

static bool
registered(string $name)

Periksa apakah objek sudah terdaftar di container atau belum.

static 
singleton(string $name, Closure $resolver = null)

Daftarkan sebuah objek (singleton).

static 
instance(string $name, mixed $instance)

Daftarkan instance yang sudah ada sebagai singleton.

static mixed
resolve(string $type, array $parameters = [])

Resolve nama yang diberikan menjadi sebuah instance objek.

static mixed
build(string $type, array $parameters = [])

Instansiasi tipe objek yang diberikan.

static array
dependencies(array $parameters, array $arguments)

Resolve seluruh dependensi dari ReflectionParameter.

static mixed
resolve_non_class(ReflectionParameter $parameter)

Resolve parameter opsional untuk dependency injection kita.

Details

static register(string $name, mixed $resolver = null, bool $singleton = false)

Daftarkan objek berikut resolvernya.

Parameters

string $name
mixed $resolver
bool $singleton

static bool registered(string $name)

Periksa apakah objek sudah terdaftar di container atau belum.

Parameters

string $name

Return Value

bool

static singleton(string $name, Closure $resolver = null)

Daftarkan sebuah objek (singleton).

Singleton hanya akan diinstansiasi sekali saja, saat objek itu diresolve.

Parameters

string $name
Closure $resolver

static instance(string $name, mixed $instance)

Daftarkan instance yang sudah ada sebagai singleton.


     // Daftarkan instance mailer sebagai singleton.
     Container::instance('mailer', new Mailer());

Parameters

string $name
mixed $instance

static mixed resolve(string $type, array $parameters = [])

Resolve nama yang diberikan menjadi sebuah instance objek.


     // Ambil instance objek 'mailer'
     $mailer = Container::resolve('mailer');

     // Ambil instance objek 'mailer' dan oper sebuah parameter
     $mailer = Container::resolve('mailer', ['test']);

Parameters

string $type
array $parameters

Return Value

mixed

static protected mixed build(string $type, array $parameters = [])

Instansiasi tipe objek yang diberikan.

Parameters

string $type
array $parameters

Return Value

mixed

static protected array dependencies(array $parameters, array $arguments)

Resolve seluruh dependensi dari ReflectionParameter.

Parameters

array $parameters
array $arguments

Return Value

array

static protected mixed resolve_non_class(ReflectionParameter $parameter)

Resolve parameter opsional untuk dependency injection kita.

Parameters

ReflectionParameter $parameter

Return Value

mixed