2016-09-24 1 views
2

http://www.slimframework.com/docs/tutorial/first-app.html에 따르면 슬림 개체가 먼저 만들어지고 컨테이너가 만들어지고 서비스가 추가됩니다. 종속성 컨테이너에 대해 특별히입니다 그러나Slim의 종속성 컨테이너를 사용하는 올바른 방법

$app = new \Slim\App(["settings" => $config]); 
$container = $app->getContainer(); 
$container['logger'] = function($c) { 
    ... 
    return $logger; 
}; 

, http://www.slimframework.com/docs/concepts/di.html 훨씬 강력하고 상태 :

당신은 의존성 컨테이너를 제공 할 필요가 없습니다. 그러나 수행 할 경우 슬림 응용 프로그램의 생성자에 컨테이너 인스턴스를 삽입해야합니다. 한 가지 방법은 다른 것보다 더 적절한

$container = new \Slim\Container; $app = new \Slim\App($container);

인가?

두 번째 방법을 사용할 때 서비스는 어떻게 추가됩니까?

답변

2

다른 방법보다 적절한 방법이 있습니까?

nealy도 동일하므로 내 의견으로는 적절한 방법이 없지만 실제 슬림 앱 인스턴스를 만들기 전에 이러한 방법으로 로거 및 기타 자료를 추가 할 수 있기 때문에 두 번째 방법을 사용하고 있습니다.

두 번째 방법을 사용할 때 서비스는 어떻게 추가됩니까?

you'r에게

$container = new \Slim\Container; 
$container['logger'] = function($c) { 
    ... 
    return $logger; 
}; 

$app = new \Slim\App($container); 
+0

가 나는 두 번째에 동의 생각하는 첫 번째 방법을 사용하는 것과 같습니다. 또한 Container에 생성자를 전달할 수있는 것을 발견했습니다.이 컨테이너는'[ 'slim_setting'=> 123, 'settings'=> [ 'user_setting'=> 321] '형식이어야합니다. – user1032531

관련 문제