2014-02-23 90 views
0

我想在我認爲會是一個非常快速的小項目中使用Doctrine的MongoDB ODM與FlightPHP。使用Doctrine ODM與FlightPHP

我已經註冊了DocumentManager類飛行,像這樣:

$dm = DocumentManager::create($connection, $config); 

Flight::register('dm', 'Doctrine\ODM\MongoDB\DocumentManager', array($connection,  $config)); 

// Endpoints 
Flight::route('/api/create', function () 
{ 
    $thing = new Thing(); 

    $dm = Flight::dm(); 
    $dm->persist($thing); 
    $dm->flush(); 
}); 

,看來,飛行嘗試撥打該保護學說的構造?我有什麼選擇來解決這個問題?

Fatal error: Call to protected Doctrine\ODM\MongoDB\DocumentManager::__construct() from context 'flight\core\Loader' in /../vendor/mikecao/flight/flight/core/Loader.php on line 116 

回答

1

的DocumentManager類旨在通過其create()靜態工廠法構造,如在Getting StartedIntroduction文檔條目中示出。

看看Flight的Registering Classes,它似乎通過調用構造函數來支持構造類。這與Silex等框架相反,它允許您完全控制構建您的共享服務(請參閱here)。原因是,在Flight的當前代碼中我沒有看到解決辦法,因此我建議您打開問題或向the project提交拉取請求,以請求/添加更靈活的服務構建。