alexxorlovv / di

Di

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dependency Injection

##Как все работает основано на PSR 7 спецификации

Инициализация

use Sweetkit\Foundation\Di\Container;
use Sweetkit\Foundation\Di\Reader;
use Sweetkit\Foundation\Di\Adapter\ArrayFileAdapter;

$di = new Container;

Подготовленная загрузка

$file = "/Volumes/data/data/www/localhost/services.php";
$di = new Container(new Reader(new ArrayFileAdapter($file)));

Добавление элемента

$di->set("Имя элемента", 'Класс элемента','Загружать каждый');
$di->set("log","Sweetkit\Foundation\Log\Logger",true);

Назначение параметров

Параметры конструктора
$di->setArgument("log", "/volumes/file");
Аттрибуты класса
$di->setAttribute("log","log_param", "log_value");
Вызов методов
$di->setMethodCall("log", "print", [new LoggerViewHtml]);

Получение элемента

$log = $di->get("log");

##На будущее

  • Добавить тэги

About

Di


Languages

Language:PHP 100.0%