2014-07-18 122 views
0

我遇到了Silex中的路由問題。 我已經試過了我在網上閱讀的所有內容,但是..我無法讓它工作。Silex可選路由NotFoundHttpException

這裏是我的代碼:

$getServer->get('/server/{cFM}&{name}&{tApp}&{active}.json', function ($cFM, $name, $tApp, $active) use ($app) { 

if (!$server = Model\mdmServer::getServer($cFM, $name, $tApp, $active)) { 
    return $app->json('Not found', 404); 
} 
return $app->json($server); 
}); 

return $getServer; 

我想我所有的參數是可選的,例如:

/服務器/ CFM & &特普& active.json

IF我沒有爲名稱設置任何值,我得到了NotFoundHttpException。

有沒有辦法做到這一點?

非常感謝您的幫助。

回答

0

可以爲路由參數定義的默認值:

$app->get('/{pageName}', function ($pageName) { 
    // ... 
}) 
->value('pageName', 'index'); 

請有也look into the documentation

+0

我已經試過這個,它沒有工作:/,謝謝你試圖幫助我btw! – KrqcS

+0

也許你遇到了麻煩,因爲你使用的是不尋常的路線,請嘗試'/ server/{cfm}/{name}/{tapp}/{active}'而不是'/ server/{cFM}&{name}&{tApp }&{active} .json' –

+0

我找到了一種方法來做到這一點!感謝您的幫助Ralf :) – KrqcS