繁体   English   中英

Symfony2新捆绑

[英]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://symfony.com/doc/current/cookbook/bundles/remove.html

您必须将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM