- Notifications
You must be signed in to change notification settings - Fork 2
Home
Evgeniy Kuvshinov edited this page Jan 26, 2019 · 22 revisions
С помощью composer.
composer require smpl/mydi Требуется PHP >= 7.2
Допустим есть объект A который зависит от B и нам нужно получить объект A.
- Создать файлы с классами A (src/A.php) и B (src/B.php)
- Сделаем файл конфигурации(app/di.php) который вернет Container.
- Пример использования (public/index.php).
// src/A.php class A { private $b; public function __construct(B $b) { $this->b = $b; } }// src/B.php class B{}// app/di.php use Smpl\Mydi\Container; use Smpl\Mydi\Provider\Autowire; $providers = []; $providers[] = Autowire::withoutCache(); return new Container(... $providers);// public/index.php use Psr\Container\ContainerInterface; require __DIR__ . '/../vendor/autoload.php'; /** @var ContainerInterface $container */ $container = require __DIR__ . '/../app/di.php'; $a = $container->get(A::class);Основная конфигурация описывается в app/di.php с помощью различных провайдеров.
Если у вас возникли вопросы, нужна помощь, есть идеи, вы можете создать issues или связаться со мной.

