[英]Symfony2 new bundle
我最近開始了我的Symfony2世界之旅。 我下載的檔案(標准版)附帶了一個AcmeDemoBundle演示包。 我試着編寫官方網站提供的Symfony2書。 所以我通過Symfony2控制台創建了一個我自己的(EXPHelloBundle)包。 然后,我創建了與當前捆綁關聯的控制器。
問題是這樣的:每當我運行我的應用程序(localhost / app_dev.php / hello / whatever)時,瀏覽器會打印“hello whatever”。 我知道此消息來自AcmeDemoBundle(Symfony2歸檔附帶的捆綁包)。 無論我對EXP / HelloController.php做出什么改變,該應用程序自然會運行AcmeDemoBundle(默認情況下)。 簡單地說,我不知道如何告訴Symfony2運行我的包而不是演示包。
你應該嘗試這個正確刪除acme包:
您必須將HTTP請求路由到新控制器:
/**
* @Route("/hello/{name}", name="_demo_hello")
* @Template()
*/
public function newHelloAction($name)
{
return array('name' => $name);
}
src/Acme/DemoBundle/Controller/DemoController.php
告訴Symfony每當收到/ hello / whatever時執行helloAction函數。
嘗試在新控制器中編寫以下功能:
/**
* @Route("/new/hello/{name}", name="new_demo_hello")
* @Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
然后在瀏覽器中轉到/ new / hello / something
關鍵是路由組件,在菜譜中查看它,你會發現很容易獲得基本概念。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.