问题标签 [symfony-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
346 浏览

symfony - webcal:// 而不是 Symfony2 中的 http://

我在这里阅读了如何修改 twig 中生成的 url。

我缺少的是路由方面:我可能需要 symfony 才能路由: webcal://www.mywebsite.com/calendar而不是http://www.mywebsite.com/calendar

能够以 ics 提要格式共享我的日历,以便 MS Outlook 或 Google 日历可以获取它。

我生成的 ics 文件得到了正确验证,如果我打开它,我可以在 Outlook 中看到它。在本地主机上尝试 MS Outlook 无法导入它(从 Internet 添加)。我真的需要 webcal 还是我还缺少其他东西?

编辑

尝试了schemes={ "webcal" }内部注释。它正确地吐出一个格式正确的 url,但 Outlook 仍然不喜欢它(如果我写“webcal://...”,Chrome 不会打开它,但如果我写“http://..”,则 url 得到更改为“webcal://..”,Chrome 告诉我它需要一个外部应用程序才能打开它。我选择了 Outlook,但不起作用:(

谢谢!

序列号

0 投票
2 回答
2649 浏览

php - 从 $_POST 请求(不是来自 URL)使用 ParamConverter

是否可以使用 Symfony2 中的 @ParamConverter 注释将通过 $_POST 请求发送的参数转换为实体?

symfony2 文档中给出的所有示例都从路由中定义的参数转换实体。

设置类似的东西:

如果我在 $_POST 参数中使用 id 调用此路由userId,则会导致:

无法猜测如何从请求信息中获取 Doctrine 实例。

0 投票
1 回答
2257 浏览

php - Symfony 使用重写的错误模板抛出 ResourceNotFoundException

我有一个小问题。我已经覆盖了模板app/Resources/TwigBundle/views/Exception/并分别有错误、error404 和 error500.html.twig。我已经删除了缓存,并且在进入一个未定义的页面时,我得到:

致命错误:E:\svn\medapp\app\cache\prod\appProdUrlMatcher.php:4044 中未捕获的异常 'Symfony\Component\Routing\Exception\ResourceNotFoundException' 堆栈跟踪:#0 E:\svn\medapp\app\cache \prod\classes.php(1433): appProdUrlMatcher->match('/asdasd') #1 E:\svn\medapp\app\cache\prod\classes.php(19616): Symfony\Component\Routing\Matcher\ UrlMatcher->matchRequest(Object(Symfony\Component\HttpFoundation\Request)) #2 E:\svn\medapp\app\cache\prod\classes.php(2583): JMS\I18nRoutingBundle\Router\I18nRouter->matchRequest(Object (Symfony\Component\HttpFoundation\Request)) #3 [内部函数]: Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request',对象(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))#4 E:\svn\medapp\app\cache\prod\classes.php(2352):call_user_func(数组,对象(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDis in E:\svn\medapp\app\cache\prod\classes.php 在线 5334 503 服务不可用

产品日志:

0):令牌存储不包含认证令牌。一个可能的原因可能是没有为此 URL 配置防火墙。在 E:\svn\medapp\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authorization\AuthorizationChecker.php:57)"} [] [2016-02-26 09:40:49] 请求。 CRITICAL:未捕获的 PHP 异常 Twig_Error_Runtime:“在呈现模板期间引发了异常(“令牌存储不包含身份验证令牌。一个可能的原因可能是没有为此 URL 配置防火墙。”)在“MedAppBundle:默认值:base.html.twig" 在第 95 行。" 在 E:\svn\medapp\vendor\twig\twig\lib\Twig\Template.php 第 182 行 {"exception":"[object] (Twig_Error_Runtime(code: 0): 渲染模板时抛出异常(\" 令牌存储不包含身份验证令牌。一个可能的原因可能是没有为此 URL 配置防火墙。\") 在第 95 行的 \"MedAppBundle:Default:base.html.twig\" 中。在 E:\svn\medapp\vendor\twig\twig\ lib\Twig\Template.php:182, Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException(code: 0):令牌存储不包含身份验证令牌。一个可能的原因可能是没有为该 URL 配置防火墙。在 E:\svn\medapp\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authorization\AuthorizationChecker.php:57,Symfony\Component\HttpKernel\Exception\NotFoundHttpException(代码:0):找不到路由对于 E:\svn\medapp\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\EventListener\RouterListener.php:176 处的 \"GET /asdasdas\",令牌存储不包含身份验证令牌。一个可能的原因可能是没有为此 URL 配置防火墙。在 E:\svn\medapp\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authorization\AuthorizationChecker.php:57)"} [] 令牌存储不包含身份验证令牌。一个可能的原因可能是没有为此 URL 配置防火墙。在 E:\svn\medapp\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authorization\AuthorizationChecker.php:57)"} []

如果我删除或重命名 TwigBundle 模板,然后删除缓存,我会得到标准的 Symfony 错误页面:

哎呀!发生错误

服务器返回“404 Not Found”。

东西坏了。请让我们知道发生此错误时您在做什么。我们会尽快修复它。给您造成的任何不便,请原谅。

我错过了什么?

0 投票
1 回答
547 浏览

symfony - FOSUserbundle 登录表单未重定向到路由

我正在使用 FOSUserBundle,我想在登录后将用户重定向到主页。我正在使用注释来定义我的路线,并且我已将主页路线命名为“主页”。但是,我在登录后收到错误“找不到主页的路由”。当我从文件中删除default_target_pathalways_use_default_target_path信息时security.yml(如下所示),登录后表单会将我重定向到空白页面。当我将其添加回来(指定路线)时,我得到没有找到路线的错误。

这是我的routing.yml

这里是security.yml

这是默认控制器:

我已经使用几个命令多次清除缓存,但仍然没有运气。可能是什么问题?谢谢。

0 投票
1 回答
1279 浏览

php - 如何使用 routing.yml 匹配所有控制器和操作

我正在做一个项目,我有大约 98 个控制器。我们决定将这个项目迁移到 Symfony。我已经能够创建一个名为“mdBundle”的自定义包。

它已注册,如果我在 routing.yml 文件中使用 type: 注释,我可以毫无问题地访问控制器。

然而,因为我们有这么多的控​​制器,所以在动作中创建注释将需要很长时间。因此,我试图想出一种方法,让我的 routing.yml 可以处理任何请求并执行请求的控制器。

现在我的 routing.yml 看起来像这样:

Controller(DefaultController.php)的是这样的:

当我运行它时,我收到以下错误:ControllerResolver.php 第 69 行中的 LogicException:无法解析控制器名称“默认”。

我的文件夹结构与 symfony 的默认结构有点不同。我的 Bundle 在里面/root/app/mdBundle/(<-- 从这里它与 Symfony 相同)。任何人都知道为什么这不起作用。

或者还有什么方法可以在不必注释我的 98 个控制器中的每一个操作的情况下完成此操作?

0 投票
1 回答
83 浏览

php - Symfony:路由覆盖其他模板

问题在于 route 的奇怪行为@Route("/{cityId}")。当此路由高于其他路由(例如@Route("/editcity_{id}"))时,它会覆盖模板。

看截图:

    1. 路线/{cityId}是第一个,/editcity_{id}也是最后一个。

当我尝试转到/editcity_2路由/2处理请求并city.html.twig显示此错误时:

  • 2.当/editcity_{id}是第一条路线和/{cityId}第二条路线时,一切正常。

这是我所拥有的:

CityController.php

树枝模板,city.html.twig

0 投票
1 回答
1213 浏览

symfony - Symfony 3.0 - 无法加载资源“。” - 自定义路由加载器

我正在努力将我的一个项目升级到 SF 3:
该项目使用了一些自定义路由加载器,这些加载器以前可以正常工作,现在我得到一个无法加载的FileLoaderLoadException声明。resource "."

我看了一下文档:http ://symfony.com/doc/current/cookbook/routing/custom_route_loader.html

但是要么什么都没有改变,要么文档没有更新。

我的 routing.yml 配置如下所示:

有人可以提示我这里出了什么问题,或者可以确认这是 symfony 核心中的错误吗?

0 投票
1 回答
508 浏览

symfony - 在 Symfony2 上使用来自另一个包的路由和控制器

我正在使用我构建的自定义捆绑包,并且我已经安装了 FOSUserBundle。在我的包中,我有UserEntity它的 Controller 并且它的路由带有前缀:/admin/user。我希望路线admin_user_showFOSUserBundle:Profile:show

这是 routing.yml 的代码

我将其更改为此,但出现错误:

这是我得到的错误:

如何将 FOSUserBundle 包含到我的 Bundle 中?先感谢您!

0 投票
1 回答
79 浏览

php - Symfony 2.6.1 应用程序仅在 PROD 环境中运行

我正在开发一个 Symfony 2 应用程序(版本 2.6.1),但我只能在 PROD 模式下运行它。尝试访问以下 URL 时:

我收到下一条错误消息:

appDevUrlGenerator.php 第 32 行中的 RouteNotFoundException:无法为命名路由“_profiler”生成 URL,因为这样的路由不存在。

我的 routing.yml 和 routing_dev.yml 文件看起来都一样:

跑步

返回:

我还尝试了以下命令,以防万一不成功:

0 投票
3 回答
2477 浏览

symfony - 如何在 Symfony 路由中使用锚点?

我在 routing.yml 文件中定义了一个路由:

但是,当我要求 Symfony 生成该路由时,我得到:

如何跳过路由生成的编码部分?或者如何#在路径定义中转义字符?

PS:使用(大型)遗留系统,我无法更改网址。