2015-09-14 43 views
3

我最近使用Slim PHP框架構建了一個小型API,它工作得很好。然而,我想爲根「/」設置一個GET路由,它以基本消息作出響應,並讓其他GET請求返回「拒絕訪問」。Slim PHP的默認GET路徑

在閱讀文檔和各種示例之後,我一直無法弄清楚如何完成這些任務。我的項目只依賴POST路由,但能夠響應針對根域和任何其他頁面的GET請求將會非常棒。

代碼:

// SLIM INSTANCE 
$app = new \Slim\Slim(); 
$app->contentType('application/json'); 

// SLIM ROUTES 
$app->group('/core', function() use ($app) 
{ 
    $app->post('/create', 'Create'); 
    $app->post('/start', 'Start'); 
    $app->post('/stop', 'Stop'); 
    $app->post('/delete', 'Delete'); 
}); 
+0

我希望你的代碼包含'$ app-> run()'?在所有路由設置完畢後,需要調用這個命令來使請求變得很苗條。 – tillz

+0

它的確如此,我只包含了部分代碼,以顯示我的路線:) –

+0

好的,只是想確定;-) – tillz

回答

6
如果要應對不同的方法,只需要用 map() - 方法

$app->map('/create', 'Create')->via('GET', 'POST'); 

要註冊一個「默認路由」,這將永遠與'回覆訪問被拒絕「如果沒有路由匹配,則可以覆蓋」 notFound'處理程序:

$app->notFound(function() use ($app) { 
    $app->response->setStatus(403); 
    //output 'access denied', redirect to login page or whatever you want to do. 
}); 

要完成一個'根'路線:$app->get('/',function(){/*...*/});應該完全是這樣的。

+0

非常感謝,這正是我想要弄清楚的。 –