zend-framework2 相关问题

Zend Framework 2是PHP 5.3+ 5.4(适用于Zend Framework 2.4+)或5.5+(适用于Zend Framework 2.5.0+)MVC框架和组件库。

Zf2 列出实体原则 2 中的要素

我有一个简单的问题, 如何创建表单列表元素,例如网格或以下内容: [x] 姓名 |图像| [按钮] [ ] 姓名 |图像| [按钮] [x] 姓名 |图像| [按钮] 我有一个简单的问题, 我如何创建表单列表元素,例如网格或这样: [x] name | image | [button] [ ] name | image | [button] [x] name | image | [button] <table> <tr><th>checkbox</th><th>name</th><th>action</th></tr> <tr><td><input type="checkbox"></td><td>name</td><td><button>OK</td></tr> <tr><td><input type="checkbox"></td><td>name</td><td><button>OK</td></tr> <tr><td><input type="checkbox"></td><td>name</td><td><button>OK</td></tr> </table> //列出数据库中的实体,数组(对象,对象,对象) //对象=应用程序\实体\区域 $areas = $this->getObjectManager()->getRepository('Application\Entity\Area')->findAll(); 我在表单 Zend\Form\Element\Collection 中使用,但我不知道如何从数据库填充集合日期,所以我有清晰的表单。 我应该正确做,用什么? 从 Doctrine 中你已经得到了一个可迭代的数据类型(数组)。所以你只需要在你的视图中迭代它: ... <?php foreach($this->data as $area): ?> //your table row markup for a single entity <?php endforeach; ?> ... 免责声明:我问过类似的问题,但没有答案。所以我也很想知道“Zend”方式,或者是否有人能够提出替代方案。 下面的方法似乎对我有用。 ListForm.php 将集合添加到您的“列表”表单中。 /** The collection that holds each element **/ $name = $this->getCollectionName(); $collectionElement = new \Zend\Form\Element\Collection($name); $collectionElement->setOptions(array( 'count' => 0, 'should_create_template' => false, 'allow_add' => true )); $this->add($collectionElement); 这个集合将容纳集合元素(Zend\Form\Element\Checkbox) /** The element that should be added for each item **/ $targetElement = new \Zend\Form\Element\Checkbox('id'); $targetElement->setOptions(array( 'use_hidden_element' => false, 'checked_value' => 1, )); $collectionElement->setTargetElement($targetElement); 然后我添加了一些方法来允许我将 ArrayCollecion 传递到表单。对于我的集合中的每个实体,我将创建一个新的 $targetElement;将其检查值设置为实体的 id。 /** * addItems * * Add multiple items to the collection * * @param Doctrine\Common\Collections\Collection $items Items to add to the * collection */ public function addItems(Collection $items) { foreach($items as $item) { $this->addItem($item); } return $this; } /** * addItem * * Add a sigle collection item * * @param EntityInterface $entity The entity to add to the * element collection */ public function addItem(EntityInterface $item) { $element = $this->createNewItem($item->getId()); $this->get($this->getCollectionName())->add($element); } /** * createNewItem * * Create a new collection item * * @param EntityInterface $entity The entity to create * @return \Zend\Form\ElementInterface */ protected function createNewItem($id, array $options = array()) { $element = clone $this->targetElement; $element->setOptions(array_merge($element->getOptions(), $options)); $element->setCheckedValue($id); return $element; } 然后需要的就是将集合从控制器操作内传递到表单。 一些控制器 public function listAction() { //.... $users = $objectManager->getRepository('user')->findBy(array('foo' => 'bar')); $form = $this->getServiceLocator()->get('my_list_form'); $form->addItems($users); //... } 您可以使用数据库中的学说填充多选复选框,使用 DoctrineModule\Form\Element\ObjectMultiCheckbox,如本页所示: https://github.com/doctrine/DoctrineModule/blob/master/docs/form-element.md 只需将实体管理器传递给表单,然后按照示例中的操作即可创建 ObjectMultiCheckbox 表单元素... 或其他更好的 -moro 自动化工作方法,如果您想使用集合,您需要对区域进行正确的映射(@orm\OneToMany 和 @orm\ManyToOne)...并在形式如下...: http://framework.zend.com/manual/2.2/en/modules/zend.form.collections.html 并向其他实体添加方法以添加和删除区域,如下所示: public function addArea(Collection $areas) { foreach ($areas as $area) { $area->setOtherEntity($this); $this->areas->add($area); } } public function removeAreas(Collection $areas) { foreach ($areas as $area) { $area->setOtherEntity(null); $this->areas->removeElement($area); } } 如果您使用水合作用,当您自动选择它们时,这些值将被添加和删除...

回答 3 投票 0

如何在ZF2上传时调整图片大小

我是Zend Frame工作的新手,我需要在zend框架2中上传时实现图像调整大小。我尝试使用图像调整大小zf2中的方法,但它对我不起作用。 请帮忙? 公共乐趣...

回答 1 投票 0

zf2 中的 Flash Messenger

如何在 zend freamwork 2 中使用 flash Messenger?会话文档还没有。有人知道吗?但会话库就在那里。

回答 4 投票 0

zend 2 日志问题

我目前正在使用 zend 2 记录器。我有一个包含以下字段的表 error_log: 错误日志id 信息 时间戳 优先级名称 优先事项 ip 用户身份 以下是我的代码 $db ...

回答 2 投票 0

zf 在表单类中为新的 fieldset 元素添加 inputfilter

在zend框架中,如何使用表单中的代码为字段集中的新表单元素添加输入过滤器? 在下面的例子中,我定义了一组常见的表单元素和一个输入过滤器...

回答 1 投票 0

如何获取 ZF2 中翻译的附加表单错误消息?

我有一个表单,我必须在基本表单验证之后执行验证(扩展/覆盖 Form#isValid(...))。如果此“验证后验证”失败,我会添加一条错误消息...

回答 1 投票 0

记录自定义元素 Zend Log Formatter XML

我正在尝试获取有关请求的一些信息,结果应放入 XML 文件中。 我正在使用以下元素: logEntry(root)(默认) 时间戳(默认)(字符串)时间戳 之前...

回答 1 投票 0

如何在 Zend Framework 2 应用程序中的模块的 getConfig() 中使用 global.php/local.php 配置?

在 ZF2 应用程序中,我有一些配置,即: 1. 需要根据环境而有所不同; 2. 特定于具体模块。我目前正在使用它,如下所述: 全局.php ...

回答 2 投票 0

Zend Framework2 表单错误数组到 JSON

我从 zend 表单收到这个数组 大批 ( [用户] => 数组 ( [名字] => 数组 ( [isEmpty] => 请输入名字 ...

回答 3 投票 0

ZF2:使用 Url 帮助器时谁应该对 href 进行转义和分隔符?

当我使用 url 帮助程序生成带有查询参数的路由的 url,然后将该 url 添加到链接 href 时,验证器警告我,属性中存在未转义的 &: 当我使用 url 帮助器生成带有查询参数的路由的 url,然后将该 url 添加到链接 href 时,验证器警告我,属性中存在未转义的 &: <a href="/users/?order=asc&by=userId">▲</a> 我尝试搜索,但仍然不确定谁负责逃脱。 Router 生成 url,但它可以在任何地方使用,而不仅仅是在 html 属性中,因此在他的情况下它正确地没有转义。 Url 助手不会更改该 url 中的任何内容,但它是用于 html 中的,因此可以在此处完成 视图模板 - url 放在 href 属性内,所以它也可能在这里 我找不到任何线索如何决定这一点以及是否用 zf2 填写有关此问题的问题。 编辑:来自分页器的 html/php 代码 <a href="<?php echo $this->url($this->route, [], ['query' => array_merge($this->query, ['page' => $this->first])]) ?>">&lt;&lt;</a> 生成html <a href="/rates?page=1&order=desc&by=dateValid">&lt;&lt;</a> 据我发现应该是 <a href="/rates?page=1&amp;order=desc&amp;by=dateValid">&lt;&lt;</a> 我认为当前的行为(不是 HTML 实体编码)是正确的,并且由开发人员在适当的时候对 HTML 实体进行编码。 例如,您可能想在 <script> 标签内使用视图助手,其中不需要 HTML 实体。

回答 1 投票 0

如何在模块的init方法(ZF2)中获取对服务管理器的引用?

我需要在任何 MvcEvent::EVENT_BOOTSTRAP 侦听器执行之前执行一些代码。显然 Module::onBootstrap 不是一个选项。我以以下代码结束: 类模块 { 功能...

回答 5 投票 0

ZF2中事件的嵌套触发

我使用此代码来触发事件: $输入 = 数组(1,2,3); $result = $EventManager->trigger('onChangeArray',$this,array('values'=>$input)); $c = $结果->count(); $最终=数组(); 对于(...

回答 1 投票 0

如何在 zend Framework2 中使用“filerenameupload”过滤器?

我在表单类中添加文件元素: $这个->添加(数组( '类型' => 'Zend\Form\Element\File', '名称' => '徽标文件', '选项' => 数组( '实验室...

回答 2 投票 0

ZF2获得$_SESSION

我正在应用程序的一部分中设置 $_SESSION,该部分不是由 Zend 路由的。 (myhost.local/example.php -> 设置 $_SESSION['user']) 现在我想访问我的 Zend 应用程序中的 $_SESSION['user'] 。 (

回答 2 投票 0

在ZF2中提交表单时保存登录用户的user_id

我想将用户 user_id 与他通过表单提交的数据一起保存。这是在我的控制器中: 控制器: $request = $this->getRequest(); if ($request->isPost()) { $

回答 1 投票 0

Zend Framework Sql 找不到列

我在使用 Zend Framework 2 的 SQL 类时遇到问题。它说它无法在表中找到特定列,但该列在那里。我以前遇到过这个问题,不得不使用实际的 SQL ...

回答 1 投票 0

在 Zend Framework 2 应用程序中返回 XML 响应的正确方法是什么?

我正在开发一个小型 ZF2 应用程序,它为客户端提供一些 API 端点。它通过 JSON 返回一些简单的数据。 它有一个扩展 BaseRestController 的 FooController 和

回答 4 投票 0

服务构造函数中的OnDispatch事件

我在 Apigility 中附加 OnDispatch 事件时遇到问题。我希望从抽象服务类的构造函数中的自定义标头中获取值。当我简单地将它添加到 Mo 的引导程序中时它就起作用了...

回答 1 投票 0

如何避免与 Doctrine2 和 Zend Framework2 的 ManyToMany 关系重复?

目标是拥有 2 个实体文章和标签,具有多对多关系,其中标签表中的标签保持唯一,即使为其他文章声明相同的标签也是如此。 我尝试更好地解释...

回答 1 投票 0

使用 Doctrine With laminas 项目问题:“类不存在”

我刚刚在我的 Laminas 项目中安装了 Doctrine。我添加了数据库连接并在应用程序文件夹 (Application\Entity) 中生成了我的实体。我将实体设置添加到模块中。

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.