php - symfony 3 网址问题
问题描述
嗨,我来回答一个非常简单的问题(我认为),但我没有找到答案或类似的案例。我正在使用 symfony 3 并尝试为我的管理面板构建第二个菜单。
但是,我有一个关于如何在“href”中声明相对网址的问题,对于我的主菜单,我曾经这样做过
{{ url ( 'admin' ) }}
它奏效了。事实是,现在我的 url 中有子文件夹和许多级别。
我尝试访问的 url 是 myapp/admin/gameadmin,当我继续它时,这个 url 有效,但是当我尝试将它放在“href”中时,我收到一条错误消息,提示该路由不起作用。
我是这样声明的->
{{ url(admin/gameadmin) }}
我尝试使用不同的字符-> admin:gameadmin、admin\gameadmin ... 等,并使用路径而不是 url 我不知道这是否不是声明它的好方法,或者我的控制器是否有问题。
在我的包中,它是这样组织的:
->Controllers(folder)
->admin(folder) (You can also find my main controllers on this level)
->admingamecontroller (Where the page I try to reach is routed)
我希望我给了你所有的信息,谢谢你的帮助,对不起我的英语!
解决方案
该url
参数不是 url 本身(即:admin/gameadmin),这是在您的routing.yaml
文件或控制器注释中定义的路由名称。
如果您的操作是这样的:
/**
* @Route("/admin/gameadmin", name="gameadmin")
*/
public function gameAdminAction()
{
...
}
然后,要生成路线,您必须这样做:
{{ url('gameadmin') }}
通过这样做,只要您不更改路由名称,您网站上的所有链接都会在您更改游戏管理员 url 时保持最新状态。
我建议您在 Symfony 网站上阅读此文档:https ://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html
编辑:正如user254319所指出的,如果您不使用注释,则必须编辑routing.yaml
配置文件。
gameadmin:
path: /admin/gameadmin
controller: App\Controller\Admin\AdminGameController::gameadminAction
路由名称是 yaml 键:gameadmin
.
相关 Symfony 文档:https ://symfony.com/doc/current/routing.html
推荐阅读
- python - Python Regex:查找不重复的模式
- sqlite - sqlite3 TypeError:'url'是一个无效的关键字
- javascript - 为什么我的外部 jQuery 文件不能应用于 ReactJs 中的 className?
- c# - 如何通过搜索引擎链接发送应用网络请求?
- javascript - 使用 window.print() 打印类似网格的数据时如何避免边距?
- javascript - 无法从 Google 图表日期中删除 AM PM 格式
- c - 在 C 中的链表实现中打印额外的 0 并且不删除前端节点
- aws-lambda - 使用 cdk not sam 在本地调试 lambda
- angular - Angular Loop 使用指令和访问模型值
- python - HDBSCAN 集群中的任何对象都不应该具有 > 0 的概率值吗?并产生不一致的结果