2014-12-22 50 views
0

是否可以創建該類的單個實例,該實例將用於所有路由。例如,我有這樣的代碼:Slim Framework - 所有路由的單一類實例

$app = new \Slim\Slim([ 
     'mode' => 'development', 
     'debug' => true 
    ]); 
    use App\API; 

    $API = new API; 

$app->get('/', function() { 

    $API->insertMessage(); 
}); 

$app->run(); 

目前,這是行不通的,我需要把$ API = new API內get請求。

回答

1

是的,這是可能的。

你正在尋找另一個(不同)use聲明:

從父範圍
$app->get('/', function() use ($API) { 
          ##########  
    $API->insertMessage(); 
}); 

這應該爲你做它,它繼承變量。另請參閱:Anonymous functions (PHP Manual)In PHP 5.3.0, what is the function 「use」 identifier?

+0

是的,這是工作。我想要更全球化的東西(只有一個電話),但這會做:)。謝謝:) – Sasha

+0

這只是一個調用,如果我看到你的代碼正確,'$ API'也在全局範圍內。 – hakre