根据http://www.slimframework.com/docs/tutorial/first-app.html,首先创建瘦对象,然后获取容器并向其添加服务。
$app = new 'Slim'App(["settings" => $config]);
$container = $app->getContainer();
$container['logger'] = function($c) {
...
return $logger;
};
但是,http://www.slimframework.com/docs/concepts/di.html是专门针对依赖容器的,它要强大得多,并且声明:
你不需要提供依赖容器。然而,如果你这样做了,必须将容器实例注入到Slim应用程序的实例中构造函数。
$container = new 'Slim'Container; $app = new 'Slim'App($container);
一种方式比另一种方式更合适吗?
使用第二种方法时如何添加服务?
一种方式比另一种方式更合适吗?
有几乎相同的,所以在我看来没有合适的方法,但我做了第二种方法,因为这种方式你可以添加logger和其他东西之前,你创建实际苗条的应用程序实例。
使用第二种方法时如何添加服务?
与使用第一个方法相同
$container = new 'Slim'Container;
$container['logger'] = function($c) {
...
return $logger;
};
$app = new 'Slim'App($container);