PHP code example of bcchicr / di-container

1. Go to this page and download the library: Download bcchicr/di-container library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bcchicr / di-container example snippets


use Bcchicr\Container\Container;

$container = new Container();

/**
 * Зарегистрировать вызываемое значение в качестве определения зависимости
 *
 * @param string $id
 * @param callable $callback
 * @return void
 */
$container->register($id, function(ContainerInterface $container) {
    return 'dependency';
});

/**
 * Зарегистрировать зависимость непосредственно
 *
 * @param string $id
 * @param mixed $instance
 * @return void
 */
$container->instance($id, 'instance');

/**
 * Возвращает 'true` если зависимость с указанным ID может быть получена из контейнера
 *
 * @param string $id
 * @return bool
 */
$container->has($id);

/**
 * Возвращает зависимость с указанным ID
 *
 * @param string $id
 * @return mixed
 * @throws Bcchicr\Container\Exception\NotFoundException Если ID неизвестен контейнеру
 * @throws Bcchicr\Container\Exception\ContainerGetException Если не получается получить зависимость из определения
 */
$container->get($id);

$dep1 = $container->get($id);
$dep2 = $container->get($id);

$dep1 === $dep2 // true

$dep1 = $container->get(SomeClass::class);