2014-03-24 135 views
2

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

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

而且Contacts.php看起来是这样的:

class Contacts 
{ 
    private $v; 

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

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

回答

6

Restler 3 RC5有一个名为Scope负责从他们的名字创建任何类的新实例依赖注入容器,它派上用场用于这一目的。

一旦您注册使用注册方法,其依赖联系人类,它会在系统请求

<?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')如果有任何依赖

+0

这是我们能够过注册Validation偷懒实例真棒! RC5上是否有文档?我目前在RC4上,在Restler页面上没有看到关于RC5的任何信息。 – zongweil

+0

RC5正在等待文档被完成移至主分支,它很快就会发生! – Luracast