我很难学习bundle
。
我创建了一个名为BlogBudle
的{{1}},我在其中创建了一个名为controller
的{{1}}。
我的目标是:
创建HomeController
/test
并将其分配给URL
以下是我的代码:
/var/www/symfony/app/config/routing.yml
home page url
/var/www/symfony/src/BlogBundle/Controller/HomeController.php
blog:
resource: "@BlogBundle/Controller/"
type: annotation
prefix: /
app:
resource: "@AppBundle/Controller/"
type: annotation
当我运行namespace BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class HomeController extends Controller
{
/**
* @Route("/test")
*/
public function indexAction()
{
return $this->render('BlogBundle:Default:index.html.twig');
}
}
时,会显示
名称方法方案主机路径
blog_home_index任何任何/测试
问题:
如果我访问php app/console debug:router
,则会显示http://www.example.com/test
错误。
以下是我的VH配置:
404
答案 0 :(得分:2)
需要在 app / config / routing.yml 中覆盖您的捆绑路由,例如:
user_test:
resource: "@BlogBundle/Resources/config/routing.yml"
prefix: /
和
以下是重定向到主页的路线
的 BlogBundle /资源/配置/ routing.yml中强>
any_unique_route_name:
pattern: /test
defaults: { _controller: BlogBundle:Home:index }
确保这对您有所帮助。
答案 1 :(得分:0)
以下是一个例子:
routing.yml
my_route_name:
path: /test
defaults:
_controller: NamespaceBlogBundle:Home:index
此外,如果您的控制器被调用HomeController渲染应该像这样
public function indexAction()
{
return $this->render('NamespaceBlogBundle:Home:index.html.twig');
}