symfony2 在构造函数中重定向

2023-11-30

我想在特定的情况下在构造函数中进行重定向。 我尝试这样做:

return new \Symfony\Component\HttpFoundation\RedirectResponse($url);

像这样:

return $this->redirect($url);

但这不起作用。在所有其他方法中它都有效,但由于某种原因,当此代码位于构造函数中时它不起作用。没有错误或警告。

如果您需要更多信息,请在评论中询问。 谢谢你的时间。


直接从控制器重定向是个坏主意。我宁愿抛出一些自定义异常。

class FooController{
    public function __construct(){
        if ( some_test ){
            throw RedirectionException(); // name it however you like
        }
    }
}

然后,在Symfony,设置ExceptionListener这将评估类类型Exception如有必要,抛出并将您的应用程序重定向到另一个 URL。这项服务很可能取决于@routing生成备用 URL 目标的服务。

Service config:

services:
    kernel.listener.your_listener_name:
        class: Your\Namespace\AcmeExceptionListener
        tags:
            - { name: kernel.event_listener, event: kernel.exception, method: onKernelException }

Listener class:

class AcmeExceptionListener
{
    public function onKernelException(GetResponseForExceptionEvent $event)
    {
        // You get the exception object from the received event
        $exception = $event->getException();

        if ( $exception instanceof RedirectionException ){
            $response = new RedirectResponse();

            $event->setResponse($response);
        }
    }
}

这种方式可以维护单个错误处理和重定向逻辑。太复杂?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

symfony2 在构造函数中重定向 的相关文章

  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser
  • PHP 如何再次传输 mp3 流

    我正在尝试从 http 的无线电流 MP3 获取数据 并希望以 https 的形式将其流式传输 这是我尝试过的
  • 使用 PHP 删除文件 onclick [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在用户单击删除链接时删除文件 但
  • 在 PHP 中使用 Curl 将获取字段附加到 URL

    我可以使用 Curl 执行服务器端和客户端重定向 但无法通过 get 请求将 GET 字段附加到 URL 这是我的代码 post curl init curl setopt post CURLOPT URL url curl setopt
  • “空合并”(??) 运算符的用途是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 随着新的 PHP 版本 PHP 7 的发布 引入了新功能 这些新功能中有一个我不熟悉的操作符 这Nul
  • laravel 中的 jwt 中的“无法从请求中解析令牌”

    我面临着 无法从请求中解析令牌 Laravel 中的 JWT 错误 我在 localhost Windows 7 中的 Xampp 中尝试了相同的代码 它正在工作 但在服务器上它不起作用 我已经通过了 授权 标头中的令牌也发生了变化 hta
  • WordPress Tax_query“和”运算符未按预期运行

    我有一个自定义帖子类型image自定义分类法称为图片标签 它像类别一样分层 以下是可能使用的标签的一些示例 Structure id 25 House id 56 Skyscraper Nature Animal Plant id 41 因
  • 检查用户是否连接到 Facebook,然后检查他是否喜欢某个页面

    有没有什么方法可以检查用户是否在我的外部页面上连接到 Facebook 而不让他们允许我的应用程序之一 同样的问题也适用于 检查用户是否喜欢某个页面 我检查了大约 20 个问题和 3 4 个教程 似乎所有问题都在讨论内部脚本 粉丝页面 应用
  • 在 TCPDF 中设置背景颜色

    我已经手动设置了第一页的背景颜色 如下所示 pdf gt AddPage pdf gt SetFillColor 52 21 0 76 pdf gt Rect 0 0 pdf gt getPageWidth pdf gt getPageHe
  • 带有列标题的php数组到csv的转换

    我想将数组转换为 csv 我能够将关联数组转换为 csv 但无法获取标题 我想要动态地将数字类型日期作为标题 下面是我转换的数组 Array 0 gt Array NUMBER gt 67 TYPE gt Other DATE gt 3 3
  • CodeIgniter PHP 模型访问“无法找到您指定的模型”

    我一直在尝试为我正在构建的这个网站加载一些模型 但不知道什么原因 会带来如下错误 An Error Was Encountered Unable to locate the model you have specified logon mo
  • PHP PCRE 函数中的 $0 是什么

    我读过一个文档preg filter功能如下 这是来自 php net http php net manual en function preg filter php site subject array 1 a 2 b 3 A B 4 p
  • Laravel + AngularJS Nginx 路由

    我有以下问题 我需要配置Nginx 这样在任何URL用户访问时 它都会保留uri 例如domain com some url 但仅传递给 laravel 并让 Angular 处理路由 Route get function return v
  • 是否可以从插件扩展 Wordpress XMLRPC 接口?

    是否可以创建一个插件 在激活时向 XMLRPC 接口添加新的 功能 并处理其调用 简而言之 是的 您可以将函数添加为插件或添加到主题的functions php 文件中来处理XMLRPC 调用 您将需要以下部分 function xml a
  • 依赖注入容器什么时候会变得太大,我该怎么办?

    我们都知道为什么依赖注入很棒因为它使代码耦合更少 更容易测试 并且更容易阅读 然后有些人决定使用依赖注入容器 like pimple http pimple sensiolabs org PHP 可以协助依赖倒置 http en wikip
  • MySQL 的 TEXT 类型的 Oracle 等效项

    Oracle 是否有与 MySQL 等效的列类型TEXT type 如果不是 那么通常如何存储较大的文本块 BLOB varchar 32767 如果重要的话 它是通过 PHP 访问 Oracle 10 历史背景是非常受欢迎的 Oracle
  • 正则表达式 - 匹配单词缩写

    我正在考虑提供以下正则表达式作为答案这个问题 https stackoverflow com questions 2110010 how to find wordpresss installed on domain or server pr
  • 在网络托管上发布后,php 会话无法正常工作

    我的网站在本地主机上运行良好 但是一旦我将其部署到我的托管服务 会话就会停止工作

随机推荐

  • 如何让 ServiceStack 序列化/反序列化具有正确类型的 Expando 对象

    只是想弄清楚 servicestack text 支持将 Expando 对象序列化到 json 或从 json 序列化的情况如何 我知道 Expando 对象实现了 IDictionary 当我序列化到 json 或从 json 序列化时
  • Rails:表单确认消息以及提交表单中的数据

    尝试为 Rails 表单制作自定义 confirm 消息 该消息从提交的表单返回数据 而不仅仅是静态字符串 这个想法是 如果用户在柱数文本字段中输入数字 3 确认消息将显示如下 您真的确定要使用 3 个柱吗 有什么想法如何做到这一点 尝试这
  • 防止AlertView自动旋转

    我的应用程序的启动页面设置为portrait仅用这一点代码 NSUInteger supportedInterfaceOrientations return UIInterfaceOrientationMaskPortrait 当应用程序启
  • 对于 CV_CAP_PROP_FRAME_COUNT,cvGetCaptureProperty 始终返回 0!

    这是 O Reilly Learning Opencv 的代码片段 cvNamedWindow Example3 CV WINDOW AUTOSIZE g capture cvCreateFileCapture argv 1 int fra
  • 使用 C# XmlSerializer 为大量对象分块写入以避免内存不足

    我喜欢 XmlSerialize 的工作方式 如此简单 优雅 并且具有属性 p 但是 在序列化到 xml 文件之前构建所有对象的集合时 我遇到了内存不足问题 我正在从 SQL 数据库填充一个对象 并打算使用 XmlSerialize 将对象
  • 在JavaScript中,有没有办法继承Number函数?

    所以我知道我可以做到这一点 Number prototype square function return this this Function 4 square 16 有没有办法继承 Number 函数 这样我就不必修改 Number 原
  • 从 PHP 执行程序会挂起 APACHE

    您好 提前感谢您的关注 在过去的两周里 我一直在与一些让我发疯的事情作斗争 我的 Windows 机器上安装了 APACHE 2 2 22 和 PHP 5 4 3 我试图从 PHP 脚本调用一个程序 该脚本同时调用另一个程序 这两个程序都是
  • R cor(),method="pearson" 返回 NA,但 method="spearman" 返回值。为什么?

    我正在使用 R 在尺寸近似为 10 000 x 15 000 事件 x 样本 的非常大的数据矩阵上运行相关性 该数据集包含范围为 15 15 NA NaN inf 和 inf 的浮点值 为了简化问题 我选择一次处理矩阵的两行 将它们称为向量
  • 如何从 Node.js 中的 URL 加载外部 js 脚本

    我有一个在 VPS 上运行的 Node js 服务器 我想使用从另一台服务器提供的 js 脚本 例如 http example com api js 如何加载此脚本并在我的 node js 文件中使用它 Thanks exec wget h
  • for 循环中递归 $http.get

    我使用 Angular 1 5 我有一个查询类别的函数 然后对于每个类别 它查询产品 我想在检索到所有产品后显示一条消息 检索了多少个产品 它输出0 解决方案是什么 function getProducts vm categories va
  • 如何将 PCollection 转换为 python 数据流中的列表

    我有一个 PC 合集P1包含 ID 字段 我想从 PCollection 中获取完整的 ID 列作为列表 并将该值传递给 BigQuery 查询以过滤一个 BigQuery 表 执行此操作最快且最优化的方法是什么 我是数据流和大数据的新手
  • DateTime::add 会添加小时,即使间隔应该仅为秒

    这来自我之前关于获取指定数据集的平均时间间隔的问题 位于此处 1 我将再次发布整个函数 function getATBData siteID fromDate toDate global pdo ATBarray array maxATB
  • Android - 从 LocationClient 获取的位置不支持速度

    我正在使用新的 Google LocationClient 来检索地理位置 我需要获得每个点 位置 的速度 我现在正在做的是 if mLocationClient null mLocationClient new LocationClien
  • 如何使用 PHP 摘要?

    为什么要使用这样的摘要 它是否可以加快工作速度或者它的具体用途是什么 file1 php abstract class Search Adapter Abstract private ch null abstract private fun
  • 使用 Java DSL 在远程 S(ftp) 中移动已处理的文件

    一旦批处理使用 Spring 集成和 Java DSL 成功处理文件 我就会尝试在远程 SFTP 上移动文件 实现这一目标的最佳方法是什么 添加批量移动远程文件的步骤 或者使用FTP出站网关并提供MV命令 我倾向于选择第二种解决方案 让批处
  • 什么是虚拟方法?

    为什么要将一个方法声明为 虚拟 使用虚拟有什么好处 The Virtual修饰符用于标记可以在派生类中使用以下方式修改方法 属性 ect override修饰符 Example class A public virtual void Foo
  • Azure HTTP 请求超时解决方法

    目前 我们有一个托管在 Azure VM 实例上的应用程序 此应用程序有时会处理长时间运行和空闲的 HTTP 请求 这导致了一个问题 因为Azure 将关闭所有空闲时间超过几分钟的连接 我看到了一些关于设置较低 TCP keepalive
  • 如果运输方式是 Woocommerce 中的本地取货,则需要填写订单备注

    在 Woocommerce 中 我想要结账订单备注字段仅当选择本地取货作为运输方式 我已设法更改本地提货标签 以便指示客户向该字段添加详细信息 但想知道是否有一种方法不允许他们在向该部分添加详细信息之前继续操作 任何帮助将非常感激 下面的代
  • 使用空传播/空条件运算符时出错

    我在 VS 2013 中运行 NET 4 5 项目 为什么以下代码出错 var w Request Properties MS HttpContext as System Web HttpContextWrapper string IP w
  • symfony2 在构造函数中重定向

    我想在特定的情况下在构造函数中进行重定向 我尝试这样做 return new Symfony Component HttpFoundation RedirectResponse url 像这样 return this gt redirect