问题标签 [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.

0 投票
1 回答
111 浏览

php - 通过资源使用 Zend Router 的动态控制器

我正在尝试为 http://site.com/index 创建一个克隆(http://site.com/indexclone ,但我也希望所有操作都能正常工作,因为它们在 IndexController 和传递的潜在参数中到原始控制器。到目前为止我已经想通了:

请帮我找出参数列表的动态方法。先感谢您!

0 投票
1 回答
3416 浏览

zend-framework2 - Zend Framework 2 主题管理器

有关于 Zend Framework 2 的问题。在我的应用程序中,我有一个模块来处理我的整个应用程序。

为了进一步改进,我想开发一个主题管理器。

主题管理器应该使用像 ?theme = lightTheme 这样的 url 参数。主题被组织在模块外的某个文件夹“模板”中。主题还应包括视图脚本。

据我所知,通过阅读一些 ZF2 文档,它可以通过一些监听器事件来实现。

有人做得好吗,或者可以给我一些例子,我如何解决这个要求?

0 投票
4 回答
28687 浏览

php - 如何在 JSON 响应中呈现 ZF2 视图?

到目前为止,我已经弄清楚了如何在 Zend Framework 2 中返回典型的 JSON 响应。首先,我在配置部分添加ViewJsonStrategy了。然后,我不是从控制器操作返回一个实例,而是返回一个设置了所有变量的实例。strategiesview_managerViewModelJsonModel

现在我已经弄清楚了那部分,我需要了解如何呈现视图并在该 JSON 响应中返回它。在 ZF1 中,我可以使用$this->view->render($scriptName),它将 HTML 作为字符串返回。在 ZF2 中,该Zend\View\View::render(...)方法返回void.

那么...如何呈现 HTML 视图脚本并在一个请求中以 JSON 响应的形式返回它?

这就是我现在所拥有的:

0 投票
2 回答
876 浏览

zend-framework - 学习 Zend 框架 1

可能重复:
学习 Zend 框架的最快方法?

我想在寒假期间申请为一家公司工作。他们显然严重依赖最新的 zend 框架 1。为了让我获得这个职位,他们建议我使用 zend 框架创建一个项目。我在想一个简单的博客。

有人对学习 zend 框架 1 有什么建议吗?每当我搜索时,我都会找到有关 zend 框架 2 的信息。

0 投票
4 回答
3331 浏览

zend-framework2 - ZF2:控制器的转发插件不起作用。如何让它发挥作用?

我需要将 ajax 请求转发到当前控制器的其他 Action 方法。我使用 Forward 插件,但它不起作用。手册中有一个关于如何使用 Forward Plugin 的示例:

我的代码:

我在控制台中得到的错误是:

如果我不使用 Forward 一切正常,请求就可以了indexAction。只有 Forward 会抛出错误。

从手册中,关于 The Forward Plugin

为使 Forward 插件工作,调用它的控制器必须是 ServiceLocatorAware;否则,插件将无法检索所请求控制器的配置和注入实例。

从手册中,关于可用控制器

实现上述每个接口都是冗余的教训;你不会经常想要这样做。因此,我们开发了两个抽象的基本控制器,您可以扩展以开始使用。

AbstractActionController 实现了以下每个接口:

Zend\Stdlib\DispatchableInterface Zend\Mvc\InjectApplicationEventInterface Zend\ServiceManager\ServiceLocatorAwareInterface Zend\EventManager\EventManagerAwareInterface

所以我的FooControllerextends AbstractActionController,它实现ServiceLocatorAwareInterface了,所以 Forward 必须工作,但它没有。我错过了什么?如何让它发挥作用?

0 投票
2 回答
321 浏览

php - Zend 框架中的嵌套控制器

我正在构建一个 Zend Framework 应用程序并创建了一些与数据库表相对应的控制器,并保存了对这些表执行 CRUD 操作的方法。

我刚刚开始研究Companies包含添加、编辑和删除公司的方法的​​控制器。为此,我们可以使用传统的controller/actionURL 模式:

问题是对于每个Company我们还需要管理它的Contactsand Machines

我只是想不通如何在 Zend Framework 中管理它。我应该通过路由“嵌套”控制器,还是应该使用模块?任何帮助将不胜感激。

0 投票
1 回答
2223 浏览

zend-framework2 - ZF2:如何完成来自其他Action方法的请求,然后请求使用Forward Controller Plugin?

在 ZF 中,控制器中有一个 Forward Plugin。手册说:

有时,您可能希望从匹配的控制器中调度其他控制器——例如,您可能使用这种方法来构建“小部件化”内容。Forward 插件有助于实现这一点。

它的例子是这样的:

插件将foo控制器 ( FooController::processAction) 中的某些内容返回到调用插件的初始匹配控制器。但是是否可以从该foo控制器完成请求(向浏览器发送最终响应)?像这样:

有可能Forward吗?

0 投票
5 回答
15288 浏览

php - ZF2:如何将参数传递给转发插件,然后我可以在转发它们的方法中获取这些参数?

我在Foo Controller 中有一个 Action 方法,它需要参数:

我需要从一些Boo控制器的其他方法转发到该方法。其中一个参数必须是引用参数。该手册的唯一示例是:

没有任何附加参数。但他们写道:

$params 是一个可选参数数组,用于查看 RouteMatch 对象以用于此特定请求。

所以,我尝试了:

但它不起作用。

有没有办法将额外的参数传递给转发控制器?

升级版:

这些也不起作用:

更新 2:

我仍然无法获得我想要的功能(通过forward插件传递参数),但我找到了其他解决方案。在调用forward插件之前,我将变量设置为Request对象,然后从我的Boo\Controller\BooController的boo Action 中forward获取它们:Request

愚蠢的解决方案,它不适用于 Ajax 请求。仍然对如何使用 forward 插件传递参数感兴趣。或者也许如何让他们进入booAction。因为Request如果我将它们与forward.

UPD 3 和最终版本:

我终于找到了他们决定隐藏我通过forward插件传递的参数的地方。他们将它们放入RouteMatch对象中。

- 试着猜猜我们把你的参数藏在哪里了……哦,是的RouteMatch,它们在里面,当然它们在那里,你不觉得吗?

forward并且在手册的插件部分没有任何信息!

要获得参数,我必须在我的BooController::booAction

0 投票
1 回答
240 浏览

php - Zend 2.0 查询路由

您好,我正在使用 ZendFramework 2.0,我想使用查询参数设置路由。例如,我想要这样的东西开始工作。

我想要匹配.../foo?my_param=number但不匹配.../foo.../foo?not_allowed_pa​​ram=value 的路由

另一方面,我希望能够使用$this->url('.../foo', array('my_param' => 3))

Ofc 认为这是行不通的。我希望你明白我期望的行为。

谢谢你的帮助!

0 投票
7 回答
12798 浏览

php - ZF2 - 如何更改错误/404 响应页面?不仅仅是模板,而是设置一个新的 ViewModel

默认情况下,页面在Applicationmodule.config 数组中设置如下:

我想换页。我想要新ViewModel的充满变量的。这意味着仅仅改变模板是不够的:

但我不明白怎么做。我看不到请求到达'error/404'.

  • 如何ViewModel为它创造新的?

  • 如何将变量附加到它?

  • 路线是怎么'error/404'来抓它的?

例如,我有这样一个'error/404'页面方法:

如何做出这样的改变?我无法获得他们创建的系统来处理诸如'error/404'. 请帮忙。

更新 1

更复杂的任务。如何有几个'error/404'页面?想问创建框架的人是否知道'not_found_template'不能有 'error/404'页面数组。怎么可能?如果我这样设置这个选项:

它抛出一个错误。'not_found_template'强迫你只有一个'error/404'模板?