есть следующий код:
class Logger
{
public function __construct(Config $config)
{
$this->mode = $config->get('logger.mode');
}
}
class DB
{
public function connect($dbUser, $dbPass)
{
}
}
class TodoService
{
public function __construct(
TodoListHelper $todoHelper,
ItemHelper $itemHelper
)
{
$this->todoHelper = $todoHelper;
$this->itemHelper = $itemHelper;
}
}
Далее есть метод autoMake, как с помощью метода можно создать экземпляр ?
public function autoMake($contract)
{
$getDependencies = function ($contract) {
};
$deps = $getDependencies($contract);
return new $contract($deps);
}
Чтобы с помощью метода autoMake($contract) создать екземпляр нужно его поместить в класс
class autoMake
{
private $contract;
public function __construct($contract)
{
$this->contract = $contract;
}
public function autoMake()
{
$getDependencies = function ($contract) {
};
$deps = $getDependencies($contract);
return new $contract($deps);
}
}
Екземпляр класу
$autoMake = new autoMake(//передаєм контракт);
echo $autoMake->autoMake();
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости