![](/img/trans.png)
[英]how to use a dependency container in a php file that isn't a class in Slim 3
[英]Propery way to use Slim's dependency container
根據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更強大並指出:
您不必提供依賴性容器。 但是,如果這樣做,則必須將容器實例注入Slim應用程序的構造函數中。
$container = new \\Slim\\Container; $app = new \\Slim\\App($container);
一種方式比另一種更合適嗎?
使用第二種方法時如何添加服務?
一種方式比另一種更合適嗎?
有一些相同,所以在我看來沒有正確的方法,但我正在做第二種方法,因為這樣你可以在創建實際的苗條應用程序實例之前添加記錄器和其他東西。
使用第二種方法時如何添加服務?
與使用第一種方法相同
$container = new \Slim\Container;
$container['logger'] = function($c) {
...
return $logger;
};
$app = new \Slim\App($container);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.