我已經在Laravel框架中開發了很多我的項目了很長一段時間,但是我沒有爲使用Symfony而不是Laravel的公司工作。Symfony中的HTTP路由
在我適應Symfony的路上,我對HTTP路由感到困惑。
在Laravel您指定的HTTP方法並將其鏈接到一個路線,像這樣:
Route::get('/', '[email protected]');
Route::post('/', '[email protected]');
如果發送GET請求「/」,它會調用的PageController索引方法。如果您發送了一個發佈請求,它將在PageController中調用聯繫方法。
現在在Symfony我不知道如何做適當的HTTP路由。我看到有人用一種方法處理獲取和發佈請求。例如:
public function index()
{
if ($request->isMethod('POST')) {
// handle post request and return something
}
// return something else
}
我做了什麼,它看起來很像Laravel方式指定2種獨立的方法來處理每一個請求:
/**
* @Route("/", name="homepage")
* @Method("GET")
*/
public function indexAction(Request $request)
{
// return the index page
}
/**
* @Route("/", name="contact")
* @Method("POST")
*/
public function contactAction()
{
// handle post request and return something
}
要總結一下我的問題(S):
- 如何處理Symfony中的發佈請求?
- 處理這些請求的最佳做法是什麼?
- 什麼是這種方法的命名約定(indexPost/indexGet,indexAction/contactAction)?
在此先感謝!
這可能幫助:http://symfony.com/doc/current/best_practices/index.html根據我的經驗,最好嘗試做之前,瞭解它自己的條款框架事情就是你習慣做事的方式。開箱即用,Symfony控制器方法通常以Action結束。 – Cerad
感謝您的回覆。我已經閱讀了大部分Symfony文檔,並且找不到任何關於處理帖子的具體內容。 –
該文檔顯示了Symfony處理髮布表單的方式:http://symfony.com/doc/current/forms.html#handling-form-submissions看起來像您實際上已將其複製到您的問題。有些人認爲get/post應該通過單獨的操作來處理。但是,無論喜不喜歡,Symfony的方法都很明確。 – Cerad