繁体   English   中英

Restler中的构造函数注入

[英]Constructor Injection in Restler

为了构造函数注入,是否可以将参数传递给API类? 例如,在index.php中,我具有以下内容:

$r->addAPIClass('Contacts', '');

和Contacts.php看起来像这样:

class Contacts
{
    private $v;

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

我将如何与Restler做到这一点?

Restler 3 RC5有一个名为Scope的依赖项注入容器,该容器负责根据名称创建任何类的新实例,为此它非常有用。

一旦使用register方法注册了具有依赖关系的Contacts类,当要求输入时,它将被懒惰地实例化。

<?php
include '../vendor/autoload.php';

use Luracast\Restler\Scope;
use Luracast\Restler\Restler;

Scope::register('Contacts', function () {
    return new Contacts(Scope::get('Validation'));
});

$r = new Restler();
$r->addAPIClass('Contacts', '');
$r->handle();

通过使用Scope::get('Validation')如果它具有任何依赖关系,我们也可以注册Validation

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM