问题标签 [zend-framework-modules]

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 投票
3 回答
5777 浏览

zend-framework2 - ZF2 注册无效工厂

我在 ZF2 应用程序中有以下类和我的模块配置,它给出了以下错误:

用户窗体工厂.php

用户窗体.php

模块.config.php

我在另一个控制器工厂中使用这个表单工厂

用户控制器工厂.php

谁能告诉我可能是什么问题?

0 投票
1 回答
48 浏览

zend-framework - 在 ZF2 中组织一个更大的项目

我需要您对类似于 facebook 的组织网站的建议。我不确定如何为这种类型的网站组织模块。

我的想法是做以下模块:

  1. Auth Module ('用户登录、注册、记住我、重设密码、注销)

  2. 个人资料模块(添加/编辑/显示个人资料和封面图片,izliztavanje 您的帖子,信息)

  3. 墙模块(首页为FB的墙,查看状态更新,点赞,添加

4.上传模块(上传图片、视频)

5.群组模块(添加、编辑、删除群组)

这个可以吗?你能给我一些你的例子吗?

0 投票
1 回答
229 浏览

zend-framework - 如何覆盖 Pimcore 插件中的控制器

在我的一个项目中,我安装了第三方插件。据我了解,插件是 Zend 框架意义上的常规模块(在本例中为框架版本 1.12)。

有没有办法用我自己的实现覆盖插件附带的控制器而不改变模块本身?我想到了类似“首先从某个命名空间检查控制器;如果它不存在,则回退到模块中的那个”。

我最终想要实现的是以“隐藏”或透明的方式扩展模块,这样我就不必更改默认路由,并且从用户的角度来看,应用程序的外观和工作方式仍然相同。

如果那不可能,一般来说扩展 Pimcore 插件或 Zend 模块的最佳实践是什么?

0 投票
1 回答
312 浏览

php - 如何知道 ZF2 中当前加载了哪个模块?

我是 Zend 框架的新手,我浏览了 https://framework.zend.com/manual/2.4/en/in-depth-guide/first-module.html上提供的文档

但我仍然不了解 ZF2 文件夹结构以及以下几点。

1) zf2 如何知道哪个模块会先加载?

2) 如何知道 zf2 中当前加载的模块?

请帮助我了解 Zend Framework2。

0 投票
1 回答
157 浏览

php - 在 zf1 , zf2 项目中使用相同的会话

我在保存服务器上的 zf1 和 zf2 中有两个应用程序,我在 zf2 中创建了登录系统,当我登录 zf2 时它工作正常。现在我想在 zf1 中访问 zf2 会话,它显示

如何解决这个问题我想在同一会话上运行 zf1 和 zf2 应用程序。

这是我的项目的目录结构

有时我在 zf1 中手动创建会话而不是运行 zf2,但我无法在 zf2 中获得我想要的会话。

我可以通过任何方式对 zf1 和 zf2 应用程序使用相同的登录/身份验证

提前致谢...

0 投票
4 回答
1018 浏览

php - ZF3 - 作曲家需要模块 -> 模块无法初始化

我正在使用 Vagrant / Composer 设置以骨架应用程序为基础。初次安装后,我意识到我需要 LDAP 模块。然后我运行了composer require zendframework/zend-ldap它成功运行,并且我已将文件定位在~/vendor/zendframework/zend-ldap.

问题是当我添加'Zend\Ldap'到我的~/config/modules.config.php时遇到以下错误:

~/config/modules.config.php文件:

~/config/application.config.php文件:

我尝试删除缓存文件夹,运行composer update,重新启动 Vagrant,将完整路径添加到'modules_path'数组中,application.config.php但它总是相同的错误。有趣的是,我遇到了与'Zend\View'安装中包含的相同的问题,但是可以毫无问题地将诸如模块'Zend\Session'添加到modules.config.php文件中(它们都位于vendor/zendframework目录中)

谁能指出我正确的方向来解决这个问题?

0 投票
2 回答
622 浏览

php - 在 Zend Framework 2 中动态加载模块

我昨天也问过这个问题,但是这个问题包括代码。

问题

我的应用程序有多个模块和两种类型的用户帐户,加载了一些模块,其中一些模块是always为用户加载的,application.config.php一些是为用户conditional加载的type Atype B

在阅读了有关 Stack Overflow 的文档和问题后,我了解了 ModuleManager 的一些功能,并开始实现我认为可行的逻辑。

我如何想出一种方法来加载application.config.php [SUCCESS]中不存在但它们的配置不起作用的模块[THE ISSUE]即如果在onBootstrap方法中我获得了ModuleManager服务并且getLoadedModules()我得到了正确加载的所有模块的列表。之后,如果我尝试从该动态加载的模块中获取一些服务,它会引发异常。

Zend\ServiceManager\ServiceManager::get 无法获取或创建 jobs_mapper 的实例

请注意,工厂和所有其他东西都很好,因为如果我从 application.config.php 加载模块,它就可以正常工作

同样,当我尝试从它抛出的动态加载的模块访问任何路由时,404 Not Found这清楚地表明即使模块由 ModuleManager 加载,这些模块的 module.config.php 中的配置也没有加载。

代码

在我的应用程序模块的 Module.php 中,我实现InitProviderInterface并添加了一个方法,在该方法init(ModuleManager $moduleManager)中我捕获了 moduleManager loadModules.post 事件触发器并加载模块

然后在同一个类中我删除方法onLoadModulesPost并开始加载我的动态模块

问题

  • 是否有可能实现我正在尝试的目标?
  • 如果是这样,最好的方法是什么?
  • 我的代码中缺少什么?
0 投票
2 回答
545 浏览

php - 在 Zend Framework 2 中加载具有多个模块的模块

问题

所以我尝试将我的应用程序解耦到多个模块项目(每个都有自己的composer.json),然后真正的应用程序将通过 composer 加载所有这个项目

每个模块项目都有一个可通过浏览器访问的用户界面,并且可以单独启动,因此它不仅仅是一个简单的库。该文件将存在于每个模块项目中:

  • 配置/应用程序.config.php
  • 公共/index.php

示例模块(依赖是我在 application.config.php 的模块数组中写的):

  • UI模块
    • 依赖:AssetManager、UIModule
  • CMS模块
    • 依赖:UIModule、CMSModule
  • 会计模块:
    • 依赖:UIModule、AccountingModule

现在在我的最终应用程序中假设MyApplication它需要CMSModuleAccountingModule,但我不能只在 application.config.php 中编写这两个模块。相反,我必须写:

  • AssetManager -> 这应该由 UIModule 加载
  • UIModule -> 这应该由 CMS/会计模块加载
  • CMS模块
  • 会计模块

我只需要在MyApplication中写这两个

  • CMS模块
  • 会计模块

这是可以做到的吗?我认为这家伙想在 Zend Framework 2 中动态加载模块中实现什么

像这样,我添加了另一个附加模块。 解耦模块

0 投票
0 回答
131 浏览

php - ZF2 - 仅针对特定模块的错误处理

我有一个多模块应用程序。

它的一个模块以 999 优先级监听“dispatch.error”。它似乎可以捕获所有其他模块的错误。

我需要的是仅在我的特定模块中捕获错误并适当地表现。例如,如果我以 1000 优先级收听“dispatch.error”并过滤掉特定于我的模块的错误(通过异常名称或使用路由过滤),它将起作用,但不能保证其他模块不会带有 10000同一事件的优先级。

我对 ZF2 很陌生,不知道是否有合适的方法来解决这个问题。

看起来这个问题大致相同:ZF2: How to attach module specific listener for dispatch.error,但响应虽然被接受,但根本没有帮助。

更新: 我发现它可以通过更改来修复DispatchListener.php(在使用自定义 ID 时SharedEventManager)。

DispatchListener变成EventManager这样:

但是如果控制器存在,这可以被覆盖:

然后将解决特定于模块的错误处理程序的问题。

有没有人知道没有修复核心文件的解决方案?它实际上是一个错误吗(例如,自定义模块可以收听“dispatch”,但不能收听“dispatch.error”)