-1

在 PHP 中存在依赖注入问题,我似乎无法找到答案。好的,快速的 PHP 类:

<?php

namespace myapp;

use myapp\template;
use myapp\order;

class user {

    private $template;

    public function __construct(template $template) { 
         $this->template = $template;
     }

    public function add_order(order $order) { 
         // do something with $order here
    }

}

我正在使用来自http://php-di.org/的 php-di 包,尽管我愿意更改。我的问题是,如何直接注入到 add_order() 函数中?构造注入很简单,例如:

$container = new Di\Container();
$container->make(mapp\user);

我希望发生相同类型的注入,但同时直接调用 add_order() 函数。我想要这样的东西:

$container = new Di\Container();
$container->make(myapp\user::add_order);

有什么帮助吗?谢谢~

4

1 回答 1

0

您可以使用:

return [
    'mapp\user' => DI\autowire()
        ->method('add_order', <put here what you want to inject>),
];
于 2019-06-02T21:50:39.683 回答