Сейчас я создал несколько веб-приложений MVC и адаптировал свои разработки в соответствии с лучшими практиками. Сейчас я работаю над другим проектом и применил все полученные ранее знания, однако у меня есть несколько вопросов о том, как лучше всего внедрить внедрение зависимостей в мой проект.
У меня есть index.php, который выглядит примерно так:
require __DIR__ . '/../vendor/autoload.php';
use Phroute\Phroute\{RouteCollector, Dispatcher};
require __DIR__ . '/../routes.php';
...
Теперь я попробовал Pimple, но я не уверен, что это лучший вариант для меня или есть другие лучшие варианты, такие как аура.
Я определил все зависимости в индексном файле, такие как моя база данных и т. Д., Тогда я не был уверен в наилучшем способе их использования в моих контроллерах. Я действительно думал об этом методе, но он чувствует, что было бы очень неудобно повторять себя, бросая контейнер в конструктор каждого контроллера, это плохая вещь; если так, как я могу избежать этого, чтобы контейнер был «загружен» с каждым контроллером?
namespace App\Controllers;
#use Pimple\Container;
class Index {
public function __construct(Pimple\Container $container){
$this->container = $container;
}
public function index(){
return $this->container['db'];
// ...
}
}
Задача ещё не решена.
Других решений пока нет …