如何从di依赖注入容器上下文中自动连接(自动连接)/获取nette中的服务 [英] How to autowire ( autowiring ) / get services in Nette from the di dependency injection container context

查看:0
本文介绍了如何从di依赖注入容器上下文中自动连接(自动连接)/获取nette中的服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从容器自动部署Nette服务,以便在演示者(控制器)或模型等内部使用?

推荐答案

若要自动布线Nette中的服务以便于检索和使用,它们必须在配置.neon配置中注册,或者必须是框架以多种方式默认设置的服务:

  • 在构造函数中指定和传递接口、类类型
    use AppModel; // or use AppModelArticleRepository;
    public function __construct(
        ModelArticlesRepository $articlesRepository,
     ...
    )
    {
        $this->articlesRepository = $articlesRepository;
  • 通过@Inject标记属性注释进行自动装配
    /** @var  NetteHttpRequest @inject */ // however , this one is just example, the request service is already available in the presenters via $this->request attribute
    public $request;

所有可用服务的列表,包括那些在配置中配置的服务,以及那些默认预定义的服务,都可以在Nette Tracy Debugger栏的同一位置看到-&>DIC(依赖项注入容器)按钮

这篇关于如何从di依赖注入容器上下文中自动连接(自动连接)/获取nette中的服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆