在 Symfony 任务中使用路由生成 URL

2023-11-24

我在跑步SymfonyUbuntu 10.0.4 LTS 上的 1.3.6。

我编写了一个 Symfony 任务来生成包含链接(URL)的报告。

这是一个片段execute()我的任务类中的方法:

  protected function execute($arguments = array(), $options = array())
  {
    //create a context
    sfContext::createInstance($this->configuration);
    sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'Asset', 'Tag'));

    ...
    $url = url_for("@foobar?cow=marymoo&id=42");

    // Line 1
    echo '<a href="'.$url.'">This is a test</a>';

    // Line 2
    echo link_to('This is a test', $url); 
  }

路由名称定义如下:

foobar:
  url: /some/fancy/path/:cow/:id/hello.html
  param: {  module: mymodule, action: myaction }

运行时,生成的链接为:

Line 1产生这个输出:

./symfony/symfony/some/fancy/path/marymoo/42/hello.html

而不是预期的:

/some/fancy/path/marymoo/42/hello.html

Line 2产生错误:

无法找到匹配的路由 为参数“数组( '动作' => 'symfony', '模块' => '.',)"。

同样,预期的 URL 是:

/some/fancy/path/marymoo/42/hello.html

我该如何解决这个问题?


要在任务中生成 URL:

protected function execute($arguments = array(), $options = array())
{
  $routing = $this->getRouting();
  $url = $routing->generate('route_name', $parameters);
}

我们添加一个方法来生成路由,以便始终使用生产 URL:

   /**
   * Gets routing with the host url set to the url of the production server
   * @return sfPatternRouting
   */
  protected function getProductionRouting()
  {
    $routing = $this->getRouting();
    $routingOptions = $routing->getOptions();
    $routingOptions['context']['host'] = 'www.example.com';
    $routing->initialize($this->dispatcher, $routing->getCache(), $routingOptions);
    return $routing;
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Symfony 任务中使用路由生成 URL 的相关文章

  • 将 Wordpress 与 Symfony 集成

    我有一个用 Symfony 1 2 构建的网站 我正在尝试将 Wordpress 2 8 4 集成到其中以支持我的博客 我按照以下说明进行操作http www theodo fr blog 2009 03 integrate wordpre
  • 在 Symfony 中防止 Doctrine 的查询缓存

    在我的 Symfony Doctrine 应用程序中 我有一个按 RANDOM 排序的查询 我多次调用相同的方法 但看起来查询的结果正在被缓存 这是我的相关代码 query table gt createQuery p gt select
  • PHP 警告:array_shift() 期望参数 1 为数组,在 /home5/.../php/symfony/command/sfCommandManager.class.php 中给出 null

    array shift 期望参数 1 为数组 给出的值为 null home5 php symfony command sfCommandManager class php 是我收到的错误 我正在尝试使用 Bluehost 设置 Symfo
  • 在 Symfony 1.4 中重命名“web”文件夹

    我想在 symfony 1 4 中将 web 文件夹重命名为 html 不幸的是 搜索这方面的文档却一无所获 除了在 1 0 中如何实现这一点之外 这似乎不起作用 首先 您不必重命名它 您可以只创建一个符号链接 除非您运行的是 Window
  • Symfony 1.4:使用 SetAttribute 在会话中存储数组

    我想知道是否有人知道如何将数组存储到用户会话中 这是存储单个属性的方法 this gt getUser gt setAttribute something something 文档说 用户属性可以存储任何类型的数据 字符串 数组和关联数组
  • 模板中带有 symfony 的动态菜单

    我正在构建一个 symfony 网站 并且我有自己的代码来动态构建带有子项的菜单 现在 我在 base html twig 文件 主布局 中使用一些 twig 代码来打印它 问题是当我需要传递带有菜单项的数组时 我实际上将它传递给单个控制器
  • sfWidgetFormChoice 呈现为无序列表

    我正在使用 symfony 1 4 3 有没有办法将 sfWidgetFormChoice 呈现为无序列表 在 API 中 有一个名为 renderer class 的选项 但我找不到任何有关它的文档或示例 Thanks 看一眼lib ve
  • sfErrorNotifierPlugin:“默认”上下文不存在

    我已经安装了sfErrorNotifierPlugin 当两个选项reportErrors reportPHPErrorsreportPHPWarnings reportWarnings都设置为false时 一切正常 但我想捕获 PHP 异
  • Ruby 上类似 Django 的框架?

    Django 作为一个框架是一个简洁的小包 文件很少 与 Rails 相比 并且结构干净 事实上 您可以在不同项目之间插入和拔出应用程序 这是一个非常漂亮的功能 同时 Ruby的黑客能力是无与伦比的 它完全的面向对象特性使其更具表现力和乐趣
  • 学说无关系连接[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以在不使用关系的情况下连接 ORM 中的表 https stackoverflow com questions 2203027 is this possible to join tables i
  • 对于强大的、可扩展的开发平台,您建议使用什么框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 让我为另一个框架问题道歉 但我认为这与通常的 我应该选择什么框架 有足够的不同 来保证它 这是我的情况 在过去的一年里 我一直在使用自定义
  • Symfony 表单值缺失

    我正在编写一个简单的登录表单 一切正常 验证等 但我无法获取值 这是我的代码 public function executeIndex sfWebRequest request this gt getUser gt clearCredent
  • 去哪一个; Yii 或 Symfony

    好的 我是NOT询问哪一个更好 我知道 Yii 并不比 Symfony 好 Symfony 也不比 Yii 好 我想问的是我应该选择哪一个呢 我想提出几点 我有一个大型项目 格式非常好 编码也非常好 如果您看到我的代码 您会认为我制作了自己
  • 在 Symfony 1.4.8 中显示图像时出错

    注意 很难决定这是否属于此处或 ServerFault 但这似乎是一个编程问题 因此如果它不合适 请随意迁移它 我下载了 Symfony 1 4 8 的沙箱并将文件复制到我的网络服务器 不幸的是 当我尝试访问时 symfony sf san
  • 在远程主机中:无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]

    部署后 当我尝试发送邮件时出现以下错误 500 500内部服务器错误 Swift TransportException 无法与主机 smtp gmail com 建立连接 连接超时 110 堆栈跟踪 at in SF ROOT DIR li
  • Symfony 应用程序 - 如何将计算字段添加到 Propel 对象?

    处理 Propel 对象的计算字段的最佳方式是什么 假设我有一个对象 Customer 它有一个相应的表 customers 并且每一列对应于我的对象的一个 属性 我想做的是 在视图 A 上使用它时 向我的对象添加一个计算属性 已完成订单数
  • Elmah 对于其他 PHP

    有没有一个Elmah https learn microsoft com en us aspnet web forms overview older versions getting started deploying web site p
  • Symfony 内存问题

    我在 symfony 和 cpu 内存泄漏方面遇到了困难 我是 symfony 的新手 我不知道我是否弄乱了任何技巧或技术来克服这个问题 我在 vps 上托管我当前的 symfony 项目 它几乎每隔一小时就会停止一次 我也想知道这些问题的
  • 清除另一个应用程序的 Symfony 缓存

    我想通过后端应用程序中的操作清除前端应用程序的缓存 我怎样才能实现这个目标 我相信在 symfony 1 2 中执行此操作的正确方法如下 sfContext switchTo frontend switch to the environme
  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世

随机推荐

  • 有没有办法更改Unity中的gradle.properties文件

    Unity 有一个默认的 gradle properties 文件 该文件在构建过程中添加 虽然可以如上所述更改 build gradle 和 settings gradle 文件 这里https docs unity3d com Manu
  • Java 线程 - 内存一致性错误

    我正在读一本Sun 的并发教程 但我无法理解到底是什么内存一致性错误是 我用谷歌搜索了一下 但没有找到任何有用的教程或文章 我知道这个问题是一个主观问题 因此您可以向我提供有关上述主题的文章的链接 如果您用一个简单的例子来解释它 那就太好了
  • Delphi XE 和 ZLib 问题

    我在 Delphi XE 中 ZLib 例程遇到一些问题 我正在尝试压缩一些字符串 并对它进行编码以通过 SOAP Web 服务发送 并不重要 ZDecompressString 的字符串结果与 ZcompressString 中使用的字符
  • 检测iPhone浏览器中是否显示地址栏

    我正在尝试以面向未来且独立于设备的方式检测 iPhone 浏览器中的地址栏何时显示 这是显示在顶部的工具栏 用于显示 URL 可以通过调用隐藏它 window scrollTo 0 0 我想做的是检测它何时显示 从而减少可用的观看空间 并设
  • 如何“多播”异步迭代?

    Can an async生成器以某种方式广播或多播 以便其所有迭代器 消费者 订阅者 接收所有值 考虑这个例子 const fetchMock gt Example Imagine real fetch async function gen
  • RMarkdown 从 bash 块访问参数

    我创建了一个 RMarkdown 文件file Rmd带参数 我知道如何访问 a 中的参数r chunk但不是来自bash chunk 如果实在没有办法的话 我会通过以下方式将参数写入文件中r chunk然后从bash chunk outp
  • Bootstrap 3 中的 sr-only 是什么?

    什么是班级sr only用于 它重要吗 或者我可以删除它吗 没有的话也能正常工作 这是我的例子 div class btn group div
  • 根据 SSL 证书查看服务器名称

    我在安装 SSL 证书时遇到问题 我认为服务器名称与证书的服务器名称不匹配的问题 这是确切的 Apache 问题 Wed Oct 02 18 33 23 2013 warn RSA server certificate CommonName
  • 有没有更短的方法从字符串中提取日期?

    我编写了代码来从给定字符串中提取日期 给定 gt Date 2012 07 29 12 59AM PDT 它提取 gt 2012 07 29 问题是我的代码看起来又长又难读 我想知道是否有一种更优雅的方式来做到这一点 raw date Da
  • HTML5 表单中的事件在验证输入字段之前引发。

    在验证 HTML5 表单中的字段之前以及提交此表单之前是否会引发任何事件 AFAIK 提交事件是在提交表单之前引发的 但在验证步骤之后 所以这个事件对我来说触发得太晚了 Update 我有一个带有 required 属性的文本区域 如果用户
  • 枚举具有 N 个元素的 1d 数组的所有 k 分区?

    这似乎是一个简单的请求 但谷歌不是我的朋友 因为 分区 在数据库和文件系统空间中获得了很多点击 我需要将 N 个值 N 是常数 的数组的所有分区枚举为 k 个子数组 子数组就是这样的 起始索引和结束索引 原始数组的整体顺序将被保留 例如 当
  • 如何取消winform中的任何事件?

    我想取消该函数范围内的事件 例如 我按下了按钮单击事件 并且在错误验证时 我想取消此事件 同样 我也想取消其他活动 我怎样才能在 C 中做到这一点 这取决于场景 大多数情况下 而不是cancel该事件 什么也不做 例如 private vo
  • jquery中如何检查IP地址的有效性

    我需要在我的项目中添加 IP 验证 jquery 或 jquery mobile 中是否有任何函数 这样它将验证输入字段 Thanks 参考这个文档IP验证 在这里 他使用了 jqueryvalidator js 并通过示例进行了解释 va
  • 套接字与管道的性能

    我有一个 Java 程序 它使用本地主机上的套接字与 C 程序进行通信 通过转而使用本机操作系统管道 我是否可以期望获得任何性能 延迟 带宽或两者兼而有之 目前我主要对 Windows 感兴趣 但也欢迎任何与 Unix Linux OSX
  • 需要帮助才能使用 YouTube 搜索 API 获取 100 多个结果

    有什么方法可以使用 YouTube API 检索 100 多个结果吗 我可以使用以下查询字符串检索最多 100 个结果 但当我尝试时 我得到 http www w3 org 2005 Atom xmlns openSearch http a
  • 共享库文本段不可共享

    我正在尝试将硬件视频加速添加到我的设备的 cm10 2 端口 除了下面的错误之外 我没有收到任何错误make停止工作 显然没有任何错误 home vektor CM102 prebuilts gcc linux x86 arm arm li
  • 跨 Web 应用程序共享 SQL Server 会话状态

    我正在设置一个非常基本的 SQL Server 会话状态演示 但在使其正常工作时遇到一些问题 我正在尝试在本地运行带有 IIS 7 5 和 SQL Server 2008 R2 的 Windows 7 来测试这一点 最终 我需要一种方法来跟
  • 计算圆中点的位置

    我现在对此有点脑子空白 我遇到一个问题 我需要计算中心点周围的点的位置 假设它们与中心和彼此之间的距离都是等距的 点数是可变的 所以它是DrawCirclePoints int x 我确信有一个简单的解决方案 但对于我的一生 我就是看不到它
  • 数据库中有序列表的最佳表示?

    我知道这违背了关系数据库的原则 但让我描述一下情况 我有一个页面 用户将在其中放置许多项目 Item1 Item2 Item3 Item4 这些项目必须按照用户指定的顺序排列 然而 该顺序可以由用户改变任意次数 Item1 Item4 It
  • 在 Symfony 任务中使用路由生成 URL

    我在跑步SymfonyUbuntu 10 0 4 LTS 上的 1 3 6 我编写了一个 Symfony 任务来生成包含链接 URL 的报告 这是一个片段execute 我的任务类中的方法 protected function execut