2014-03-24 178 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