问题标签 [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.
zend-framework2 - ZF2:控制器的转发插件不起作用。如何让它发挥作用?
我需要将 ajax 请求转发到当前控制器的其他 Action 方法。我使用 Forward 插件,但它不起作用。手册中有一个关于如何使用 Forward Plugin 的示例:
我的代码:
我在控制台中得到的错误是:
如果我不使用 Forward 一切正常,请求就可以了indexAction
。只有 Forward 会抛出错误。
为使 Forward 插件工作,调用它的控制器必须是 ServiceLocatorAware;否则,插件将无法检索所请求控制器的配置和注入实例。
实现上述每个接口都是冗余的教训;你不会经常想要这样做。因此,我们开发了两个抽象的基本控制器,您可以扩展以开始使用。
AbstractActionController 实现了以下每个接口:
Zend\Stdlib\DispatchableInterface Zend\Mvc\InjectApplicationEventInterface Zend\ServiceManager\ServiceLocatorAwareInterface Zend\EventManager\EventManagerAwareInterface
所以我的FooController
extends AbstractActionController
,它实现ServiceLocatorAwareInterface
了,所以 Forward 必须工作,但它没有。我错过了什么?如何让它发挥作用?
zend-framework2 - ZF2:如何将整个应用程序的 basePath 设置为相同?
该手册的示例显示了如何仅为某些特定设置 basePath viewModel
:
但是我想将它设置在一个地方的某个地方,然后对于viewModel
我在任何控制器中创建的任何东西都是一样的。我该怎么做?
zend-framework2 - ZF2:如何在 Module 类中的事件上附加监听器?
basePath
对于给定的请求,我想为我的 Mvc 的每个组件设置相同的 a。我的意思是当我调用这些方法时,我想得到相同的结果,让我们说'/spam/ham/'
:
如何设置basePath
我已经找到的第一个案例,这是我的问题。顺便说一句,原始手册没有我从答案中收到的任何信息。
现在第二个 -basePath
必须设置在Request
:
在这里,我找到了一些实际上根本不起作用的答案http://zend-framework-community.634137.n4.nabble.com/Setting-the-base-url-in-ZF2-MVC-td3946284.html。如前所述,此处 StaticEventManager
已弃用,因此我将其更改为SharedEventManager
:
在我的modules/Application/configs/module.config.php
我添加:
但它不起作用。问题是:
1)运行永远不会到达registerBasePath
函数。但它必须。我在init
函数中附加了一个带有监听器的事件。
2)当我改变它SharedEventManager
恰好EventManager
来到registerBasePath
函数但抛出异常时:
我做错了什么?为什么程序运行不来registerBasePath
函数?如果这是设置basePath
全局的唯一方法,那么该怎么做呢?
zend-framework - 在基于 Zend Framework 1 的应用程序中设置模块的正确方法是什么
嗨,伙计们,我对如何在基于 Zend Framework 的应用程序中使用模块感到有些困惑——从我读过的关于模块在您的应用程序中作为子应用程序工作的内容来看,但是模块中的内容和模块中的内容之间的界限在哪里模糊可以在控制器内处理。例如,在家庭预订应用程序中,您具有以下功能:
房屋管理 房价管理 网上订房+订房管理
考虑到我们有三种类型的用户:管理员用户、进行预订的客户和拥有用于预订的房屋的房东如何设置我们的模块,即我们是否会有类似的内容:
还是会是这样的:
后一种格式似乎有点像将控制器变成模块 - 这里的正确方法是什么?
在原始列表中 - 每个模块中有重复的控制器。差别非常小,例如:管理模块中的houseController - 管理员可以查看所有房东的所有房屋,而房东只能查看他们自己的房屋。从技术上讲,我在这里重复了 90% 的代码,这似乎不是正确的做法,因为我认为您不能使用 ACL 来限制可以查看的列表。这种逻辑的正确方法是什么?
zend-framework2 - zf2 中的 loadModules.post 是函数吗?
当我在 zf2 中跟踪代码时,我找不到应用程序服务注册的位置。这是application.php中的代码
代码“$serviceManager->get('Application')”用于获取Application服务。但是应用服务在哪里注册呢?
然后我发现Application服务与ZF2/library/Zend/MoudleManager中的代码行“$this->getEventManager()->trigger(ModuleEvent::EVENT_LOAD_MODULES_POST, $this, $this->getEvent())”相关/MoudleManager.php
另一个问题是“ModuleEvent::EVENT_LOAD_MODULES_POST,即loadModules.post。触发函数的第一个参数是函数名。那么loadModules.post是函数吗?它是在哪里定义的?
提前致谢。
php - Zend 框架,从模型中返回类方法
我有一个模型,我想在表单的下拉列表中使用所有变量。
我希望,这样的事情会奏效,但它没有
调用它会返回这个致命错误:
致命错误:调用未定义的函数 getclass_methods()
我想要实现的是更新模型时自动更新的表单选项(这可能非常频繁)
我可能已经回答了我自己的问题,因为我将在模型中构建一个数组,该数组在调用时返回......但如果已经有一种方法可以做到这一点,那么将不胜感激。
先感谢您。
zend-framework - 基于模块的应用程序中的 ZEND_ACL 解决方案
我正在 ZF 上开发一个应用程序。
我遇到了一个巨大的无法解决的问题 - ZEND_Acl
这对我来说是无法解决的,因为我发现的每篇文章都与基于 MODULE 的应用程序无关。
最近我发现了描述在模型中使用 ACL 的packtpub 文章
但它看起来很复杂,很复杂,而不是我一直在寻找的那个。
它有 StoreFront - 一切都在那里,就我而言,我将所有东西都分成模块。
我在许多其他来源以及文档中看到了 ACL 实现技术。
我不知道如何解决以及从哪里开始(实际上是如何)开发/构建我的 ACL 实现。
我的应用程序如下所示:
如您所见,我在 adminControllers 中有管理功能,在 indexControllers 中有前端功能。
在模块内部拥有 adminControllers 和视图的想法是拥有分散的模块架构,而不是为管理员创建单独的模块。
现在我想为我的应用程序实现 ACL。
通常我会有管理员——超级管理员、编辑、发布者——管理员将访问除adminControllers
每个管理员之外的所有管理员,action
并且确保用户无法访问管理员控制器。
和用户 - 访客、注册、付费,因此层次结构看起来像这样:
此层次结构将可跨应用程序使用。
目标是在每个模块中写入写入权限和资源,这样当特定项目不存在某些模块时,我可以避免在我的 ACL 文档中出现垃圾。
我还没有在 YouTube 上测试 Alexander Romanenko 的教程的方法,但是在开发 ACL 时,他从 FrontController 插件加载 ACL - 我的情况是什么方法?
在实现 ACL 时,我必须考虑到 ACL 动态断言,以备将来使用。而像“VISITORS”这样的时刻不能发表评论,注册用户也不能在博客中看到付费文章。
也许您可以帮助我将 ACL 集成到我的项目中,也许您知道在哪里可以找到 HOW TO 并按照说明进行操作的好资源。
编辑
将具有 ACL 的 preDispatch() 的控制器插件将用于每个模块(在本例中为用户)(对吗?)
我试图在模块的(用户)引导程序中自动加载插件:
但似乎整个应用程序都需要这个插件并给出错误:
我认为这是因为插件加载了两次。但是除了模块(USERS)本身之外,这种情况在每个页面上都会发生。
doctrine-orm - createNativeQuery - oci8 返回空数组
在一个非常简单的实体上:
在尝试进行本机查询时
$result 使用 oracle(oci8 驱动程序和 pdo)返回一个空数组。使用 MySQL,一切正常。Oracle和MySQL之间的数据库完全相同,相同的表,相同的列。
'users' 表不为空,因为在使用 DQL 时,它可以工作。在使用带有本机查询的 addRootEntityFromClassMetadata() 时也可以使用。
似乎只有 oci8+addEntityResult() 才会出现问题。
任何想法 ?
提前谢谢。
php - 使 Zend 2 只搜索同一模块中的模板
我有(简化)两个模块,Application
和Admin
. 我已经在这个Admin
模块上工作了一段时间,并从Application
. 这两个模块都有一个名为UsersController
.
现在,当我开始制作Application
并创建一些路线和动作时,我的Admin
模块坏了。尝试在任何地方打开任何管理页面时遇到的错误类似于
根据文档,模板路径的第一部分取自调用控制器的命名空间。但是自从我创建了目录module/Application/view/application/users/
后,它就尝试Admin\Controller\UsersController
从那里获取所有模板,而不考虑名称空间。
如何让 Zend 再次使用命名空间,而不必每次都在操作中强制模板文件?
(使用 Zend 2.1.3)
zend-framework2 - Zend Framework 2 用户指南中的ServiceManager 对象在哪里初始化?
在 Zend Framework 2 用户指南的专辑示例中,模型配置如下:
变量$sm
是一个Zend\ServiceManager\ServiceManager
对象。但是它是如何/何时/在哪里创建/初始化的?
编辑:
我想知道的是:如何/在哪里$sm
获得它的价值(并成为一个 ServiceManager 对象)。