我是Symfony的新手,因此某些文档中的代码可能没有意义。无论如何,我正在建立一个网站,到目前为止,我在它上面写了两页(我认为一个叫做“web”,另一个叫做“术语”)。但是,我不知道如何在路由方面访问第二页。这是我的代码:
1。 TermsController.php
<?php
namespace Acme\WebBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class TermsController extends Controller
{
public function indexAction($some)
{
return $this->render('AcmeWebBundle:Terms:index.html.twig');
}
}
2。 /WebBundle/Resources/config/routing.yml
网络:
pattern: /web
defaults: { _controller: AcmeWebBundle:Default:index }
_terms:
pattern: /web/terms
resource: "@AcmeWebBundle/Controller/TermsController.php"
我应该通过http:// * /app_dev.php/web/terms访问第二页,但是我收到了错误。
* = localhost
答案 0 :(得分:0)
如果TermsController的indexAction与您指定的完全相同,那么为什么使用$ same参数?你正是因为这个原因而得到错误。
您应该在TermsController中从indexAction中删除$ some,或者在路由配置中指定$ some的默认值。这样的事情:
_terms:
path: /web/terms/{some}
defaults:
_controller: AcmeWebBundle:Terms:index
some: ''
或者如果您不使用路线参数:
_terms:
path: /web/terms
defaults:
_controller: AcmeWebBundle:Terms:index
您可以查看Symfony2 routing文档。