Я начинаю строить свой собственный фреймворк. В настоящее время я провожу исследование шаблона проектирования MVC и изучал Laravel и CodeIgniter. Пока я не увидел Slim и его документацию. У меня есть запас на этой части, потому что я не понимаю, как это работает:
$app = new \Slim\App();
$container = $app->getContainer();
$container['myService'] = function() {
// return instance of myService
};
$app->get('/foo', function ($req, $res, $args) {
$myService = $this->myService; // how did Slim do this?
return $res;
});
При таком способе получения контейнера, как «myService» доступен в методе маршрута, когда контейнер должен находиться вне области видимости? Я не могу найти его в классе Slim App.