问题标签 [zend-framework-mvc]
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 - Forward 插件返回 ViewModel 对象。如何使它返回其他值,例如简单或关联数组?
我从一个控制器的操作方法调用the Forward plugin
以从另一个控制器的操作方法获取值:
这是Boo
我申请的控制器:
如果我print_r($result)
是error/404
页面的 ViewModel:
到底是怎么回事?如何改变这种行为并从中获取所需的数据类型the Forward plugin
?
更新 1
现在只在这里找到这个:
MVC 为控制器注册了几个侦听器来自动执行此操作。第一个将查看您是否从控制器返回了关联数组;如果是这样,它将创建一个视图模型并使这个关联数组成为变量容器;这个 View Model 然后替换 MvcEvent 的结果。
这不起作用:
这意味着我必须将变量放入 a ViewModel
,返回 aViewModel
并从ViewModel
. 非常好的设计,我可以说。
php - Zend MVC:从控制器到模型的一次调用还是对不同结果的多次调用?
我需要来自模型的不同结果,但我不明白它是否正确进行一次调用并留下对所有工作进行建模或进行更多调用并收集结果以在表未加入时传递给视图或当我需要从表中获取一行,并从其他行中获取不同的行。
第一个示例(更多呼叫,收集并发送以查看):
控制器
模型
第二个例子(一次调用,模型收集所有数据,返回控制器并发送到视图):
控制器
模型
谢谢
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-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 - 如何将 3rd 方应用程序添加到 Zend Framework 2 MVC (Apache)?
好的,所以我正在使用 Zend 2 框架并遵循基本的 Zend MVC 样式。但是可以说我想添加 site.com/blog (并且博客是第 3 方应用程序)。那么我该如何添加这个呢?如何告诉框架忽略 /blog?这只是一个 .htaccess 更改吗?(我正在使用 Apache)
谢谢!
php - 模块之间共享的 ZF2 模型
我刚刚开始为一个新项目设置一个新的 ZF2 应用程序,基于 ZF2 骨架,并且正在查看他们关于Models的教程。
tl;dr:我应该如何在多个不同的模块之间共享一个模型,把它放在更高级别的某个地方(/模块之外)?
我们有几个模块设置如下:
我正要设置一个文件夹/module/ModuleName/src/ModuleName/Model/TableName.php
,但后来我意识到:该表也需要在其他模块中访问。所以我该怎么做?
我应该将 Models 文件夹放入/module/Model
还是会导致它被视为模块,即 site.com/model (基于我们当前的配置,它会)。
我应该在地方之间复制和粘贴模型吗?我应该把模型放回/vendor/library/Company/Model
某个地方吗?不太确定是否有最佳实践!
问题2:教程还建议使用ServiceManager来实例化数据库模型以使用相同的实例。如果我有一个带有 5 个控制器的模块,每个控制器访问完全独立的表(例如每个 4 个表)怎么办?在我看来,它会在每个页面加载时冗余地初始化 16 个表(对于该模块中的其他控制器)。单个表初始化为页面加载增加了 55 毫秒。有没有解决的办法??我不确定如何根据教程初始化 tablegateway 的操作将配置移动到控制器的操作中?
zend-framework2 - Zend Framework 2 View Manager - 查看文件和请求的动作匹配
我想制作自动匹配视图文件 - 控制器动作。
如果/Web/TestController/testAction
(模块/控制器/动作)请求,
ZF2 尝试加载此视图:/web/test/test
然后,我必须添加这一行以template_map
使其工作:
但我不想为所有操作添加这一行。
它可以像这样工作吗:
我如何让它自动匹配?
模块.config.php:
php - 使 Zend 2 只搜索同一模块中的模板
我有(简化)两个模块,Application
和Admin
. 我已经在这个Admin
模块上工作了一段时间,并从Application
. 这两个模块都有一个名为UsersController
.
现在,当我开始制作Application
并创建一些路线和动作时,我的Admin
模块坏了。尝试在任何地方打开任何管理页面时遇到的错误类似于
根据文档,模板路径的第一部分取自调用控制器的命名空间。但是自从我创建了目录module/Application/view/application/users/
后,它就尝试Admin\Controller\UsersController
从那里获取所有模板,而不考虑名称空间。
如何让 Zend 再次使用命名空间,而不必每次都在操作中强制模板文件?
(使用 Zend 2.1.3)
zend-framework - Zend Action View Helper 与 ActionStack Action Helper
我了解 ZF ActionStack Action Helper 会导致性能下降,因为它会重新触发整个调度过程。但是 Action View Helper 呢?我应该出于同样的原因避免它吗?