ZF2:如何为dispatch.error附加模块特定侦听器

2023-12-02

有没有办法为该事件附加一个事件侦听器dispatch.error在 Zend Framework 2 中,该侦听器将仅附加到与 Module.php 相关的 EventManager?

我通过附加监听器来实现这一点dispatch到全局 SharedManager 并将当前 Module.php 的命名空间作为第一个参数传递。它工作得很漂亮,但当我尝试同样的方法时却不起作用dispatch.error.

这是 Module.php 中的一个示例:

public function init(ModuleManager $moduleManager)
{
    $sharedManager  = $moduleManager->getEventManager()->getSharedManager();
    $sharedManager->attach(__NAMESPACE__, 'dispatch', function($e) {
        exit('IT WORKS');
    });
    $sharedManager->attach(__NAMESPACE__, 'dispatch.error', function($e) {
        exit('IT DOES NOT WORK');
    });
}

它适用于调度但不适用于dispatch.error 的原因是调度事件是从控制器内部触发的(请参阅 Zend\Mvc\Controller\AbstractController::dispatch)

因为您使用自己的命名空间控制器扩展此类,所以可以将事件与该命名空间关联。

但是,dispatch.error 事件可能会在加载控制器(以及命名空间的上下文)之前触发。这种情况根据 Zend\Mvc\DispatchListener 中的多个条件发生。

为了自定义处理dispatch.error的方式,您可能需要为该事件编写一个自定义侦听器,甚至编写您自己的DispatchListener(尽管我建议不要这样做)。然后,您也许可以查看路线匹配来确定下一步要做什么。如果您使用 ModuleRouteListener 这可能非常简单。

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

ZF2:如何为dispatch.error附加模块特定侦听器 的相关文章

  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • 通过 __get() 通过引用返回 null

    快速规格 PHP 5 3 error reporting 1 the highest 我正在使用 get 通过引用技巧神奇地访问对象中任意深度的数组元素 快速示例 public function get key return isset t
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • 在值中包含换行符

    我有一个 Word 模板 其中 php 代码中定义了值 在PHP代码中 document gt setValue Value1 value1 在word模板中 Value1 如何将包含两个值之间的断线的值包含在单词的值中 Replace n
  • 从 octobercms 中的非 ajax 表单获取输入值

    我正在尝试构建一个简单的搜索功能 下面是我的搜索表格
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • 如何通过php的require()或include()函数传递变量?

    当我使用这个时 require diggstyle code php page page no 警告是 无法打开流 第 198 行 C xampp htdocs 4ajax gallery core php 中没有错误 错误是 Failed
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • 如何解码 eval( gzinflate( base64_decode(

    我已将此代码注入到我的网站中 如何解码尾随字符串 我需要知道发生了什么以及其背后的代码是什么 这应该输出将被执行的代码eval 我希望这就是您正在寻找的
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 禁用 notInArray 验证器 Zend Framework 2

    有没有办法在 Zend Framework 2 中禁用 notInArray Validator 互联网上的所有信息都显示如何在 Zend Framework 1 中禁用 notInArray Validator 例如以这种方式 如果您根本
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio

随机推荐

  • Flutter 中的文本字段验证

    我正在研究颤振TextField小部件 我想在下面显示一条错误消息TextField如果用户没有填写小部件TextField 我只需要使用TextField小部件不TextFormField在这种情况下 您想要的最小示例 class MyH
  • PHP session_start() 导致 HTTP 请求挂起

    我有一个从头开始用 PHP 编写的应用程序 我使用 PHP 的本机会话处理程序函数来处理用户身份验证和持久性 在开发服务器上进行测试时 一切都很顺利 身份验证 持久性等工作正常 当安装在生产服务器上时 一切工作正常 直到用户身份验证 当应用
  • Traefik:应用程序之间的 HTTPS 访问不起作用

    在我们的设置中 我们使用最新的 traefik 作为反向代理 它具有通往演示合流和 keycloak 服务器的路由 traefik confluence keycloak 每个应用程序都有自己的 docker compose 文件并单独启动
  • Lua C 5.1 - 迭代所有全局值

    最近我一直在探索 luac 5 1 api 我想知道是否可以循环遍历 5 1 api 中的每个全局值 我知道在 5 2 中可以做到这一点 参考here 因为 lua pushglobaltable lua State 存在 我知道有 LUA
  • 以编程方式自动打开手机电源

    我想在 Android 完全关闭而不是待机时安排自动开机 为什么android在开始充电或放入充电电池时不会自动启动 我想在 Android 完全关闭而不是待机时安排自动开机 这是不可能的 除非通过定制硬件和固件 为什么android在开始
  • Keras:如何调整 CNN 和 LSTM 层的输入?

    我正在构建一个模型来预测地理空间时间数据集 我的数据具有原始维度 特征 纬度 经度 时间 即对于每个特征以及每个纬度 经度点都有一个时间序列 我已经使用 Keras 创建了一个 CNN LSTM 模型 如下所示 我假设以下内容需要修改 这只
  • 从 s3 存储桶中删除文件

    我在 php symfony2 中创建了上传和下载服务 这工作正常 现在我想删除上传的文件 有例子吗 注意 没有数据存储到数据库表中 删除一个对象 无版本存储桶 使用创建 S3 客户端实例Aws S3 S3Client 类工厂 s3 S3C
  • 在更改事件时将 ckeditor 内容放入文本区域 - 初学者

    当用户将值输入 ckeditor 时 我试图将 ckeditor 的内容输入到关联的文本区域中 我读过几个有用的主题 即here and here 但我在兜圈子 因为我的代码经验和知识不是那么丰富 我了解 ckeditor 的工作原理 并且
  • DrawerLayout 中视图的大小和单击行为错误

    我有一个布局Activity我正在尝试添加一个导航抽屉 问题是 为了正常工作 我需要使用
  • 通过java web应用程序查找在WebLogic服务器上运行的所有应用程序的名称

    假设我有 4 个应用程序 app1 app2 app3 app4 在 WebLogic Server 上运行 我正在用 Java 编写一个新的 Web 应用程序 它将在同一台服务器上运行 该应用程序的目的基本上是列出同一服务器上运行的所有
  • C# 在开始时隐藏新表单

    我有一个隐藏的表单 这会加载一个子表单 2e 表单也应该隐藏 请注意 我最不使用 ShowInTaskbar false should be hidden too 如果我使用 隐藏 可见 我最能够在表单之间进行通信 直到其可见 true 我
  • Qml - qml 中的 c++ 信号参数“未定义”

    我从工作线程接收信号并通过 C Singleton CTaskManager 将其重新发送到 qml void CTaskManager runAsync CTask task Q CHECK PTR task QThread thread
  • 为什么“Alt Gr + {”在 VS 2015 RC 中打开任务运行器

    一切都很完美 今天 VS 2015 RC 突然开始打开任务运行程序 而不是它应该执行的 有什么建议么 当我打开记事本时它可以工作 我想这个问题在某种程度上与快捷方式类似于 Ctrl Gr 这一事实有关 我从来没有改变过任何事情 奇怪的 如何
  • 受保护的 URL 将网页中未受保护的组件泄露给未经身份验证的用户

    我相信通过以下方式实现 JSF 应用程序的安全性
  • 获取文件编码[重复]

    这个问题在这里已经有答案了 可能的重复 检测 PHP 中的文件编码 我怎样才能用 PHP 找出文件的编码是什么 对于除 utf 8 之外的所有 8 位字符集来说 检测编码确实很困难 因为并非每个 8 位字节序列都是有效的 utf 8 并且通
  • 在 R 中转换 1970 年 1 月 1 日之前的日期

    我正在尝试将一列日期转换为 R 中的 Date 对象 但我似乎无法获得所需的结果 这些人的出生日期在 1970 年 1 月 1 日之前 所以当我使用as Date例如 R 将 1 12 54 等日期转换为 2054 01 12 我该如何解决
  • 当我的测试在 Eclipse 中扩展 TestCase(Junit) 时,无法使用 @Test 注释执行测试

    当我的测试在 Eclipse 中扩展 TestCase Junit 时 无法使用 Test 注释执行测试 当我不从 TestCase jUnit 扩展时 它工作得很好 但我现有的代码从 TestCase 扩展 因此我想保持原样 检查您是否没
  • 应用程序启动时仅运行后台服务

    我只想在应用程序启动时启动服务 这是我的代码 我的服务类别 public class MyService extends Service Override public int onStartCommand Intent intent in
  • 递归遍历控件在OnInit中禁用GridView RowCommand并丢失Viewstate

    如果我递归地遍历页面的控件 则 GridView 中的 LinkBut ton 不再触发 RowCommand 事件 事实上 看起来 GridView 的 ViewState 丢失了 为什么 我该如何解决这个问题 下面的代码将正常工作 直到
  • ZF2:如何为dispatch.error附加模块特定侦听器

    有没有办法为该事件附加一个事件侦听器dispatch error在 Zend Framework 2 中 该侦听器将仅附加到与 Module php 相关的 EventManager 我通过附加监听器来实现这一点dispatch到全局 Sh