Slim研读笔记五之依赖注入容器(上)

本文主要探讨了Slim框架中关于PSR-11容器接口的使用和实现,介绍了依赖注入容器的基本概念及其在Slim框架中的应用。
摘要由CSDN通过智能技术生成
上节,我们迈出了前进的一小步—Composer研读,了解了Composer组件加载机制。从这节开始,我们学习Slim几大核心模块—依赖注入容器、路由、中间件等。

依赖注入容器可以注入一些服务,主要用于解决组件之间的依赖关系。Slim支持Container-Interop接口实现的容器,我们可以使用Slim内置容器Pimple或其他第三方容器,例如PHP-DI。这里为了方便研读,我们使用Slim内置容器—Pimple
若你使用了其他依赖注入容器,你需要将容器实例注入到Slim程序主体的构造方法中。
// 声明一个应用主体对象并加载配置文件
$container = new \Slim\Container
$app = new \Slim\App($container);
你可显示或隐式地依赖容器中获取服务。
如下示例是从Slim应用程序中获取一个显示实例:
/**
* Example GET route
*
* @param  \Psr\Http\Message\ServerRequestInterface $req  PSR7 request
* @param  \Psr\Http\Message\ResponseInterface      $res  PSR7 response
* @param  array                                    $args Route parameters
*
* @return \Psr\Http\Message\ResponseInterface
*/
$app->get('/foo', function ($req, $res, $args) {
    $myService = $this->get('myService');

    return $res;
});

你可以这样隐式地从容器中取得服务:
/**
* Example GET route
*
* @param  \Psr\Http\Message\ServerRequestInterface $req  PSR7 request
* @param  \Psr\Http\Message\ResponseInterface      $res  PSR7 response
* @param  array                                    $args Route parameters
*
* @return \Psr\Http\Message\ResponseInterface
*/
$app->get('/foo', function ($req, 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值