[英]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.