gpt4 book ai didi

php - ReSTLer 中的构造函数注入(inject)

转载 作者:行者123 更新时间:2023-12-04 14:56:59 26 4
gpt4 key购买 nike

为了构造函数注入(inject),是否可以将参数传递给 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 的依赖注入(inject)容器。它负责根据名称创建任何类的新实例,为此目的它派上用场。

一旦你使用 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如果它有任何依赖关系

关于php - ReSTLer 中的构造函数注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22616761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com