Zend framework2 积垢进近实践

Zend framework2 积垢进近实践,zend-framework2,Zend Framework2,在官方和非官方文档的许多教程之后,对于创建、编辑实体和仅更新特定字段的通用方法,还没有这样一个清晰的愿景 主要问题是: 1-创建实体-填写表单、验证、创建实体对象并使用exchangeArray填充它,然后保存,在通过文档的保存方法中,我们必须根据传递的对象配置数组,如: $data = array( 'artist' => $album->artist, 'title' => $album->title,

在官方和非官方文档的许多教程之后,对于创建、编辑实体和仅更新特定字段的通用方法,还没有这样一个清晰的愿景

主要问题是: 1-创建实体-填写表单、验证、创建实体对象并使用exchangeArray填充它,然后保存,在通过文档的保存方法中,我们必须根据传递的对象配置数组,如:

$data = array(
            'artist' => $album->artist,
            'title'  => $album->title,
        );
我们能否避免在save方法中重新配置此阵列

2-更新实体-相同逻辑

3-如果我们只想更新一个特定字段怎么办? 我将数组传递给updateEntity方法,但传递对象(并在方法内部配置数组)以保存方法并将数组传递给update方法是否正常


4-与3几乎相同,但现在的问题是,当我们在实体字段键中有一个带有另一个键的数组时,我们可以使用Hyderator剥离“坏”数组键,并制作类似于array_intersect样式的东西,但您的建议是?

PHP与其他语言不同,是以数组为中心的,而不是以对象为中心的。大多数任务都可以通过阵列完成。在这种情况下,不使用

<?php
class SomeClass {
    public $artist;
    public $title;
}
$album=new SomeClass();
$data = array(
        'artist' => $album->artist,
        'title'  => $album->title,
    );
?>

我们应该使用

<?
$SomeObject=array("artist"=>xxx,"title"=>xxxx);

$data = $someObject;
?>

i、 我们应该避免在引用POCO类时使用类,而应该使用(不太优雅的)数组。否则,有时我们将被迫在数组和对象之间进行这种转换

无论如何,我们需要将其保留为一个对象,然后,我们可以使用以下方法在对象到数组之间进行转换:

<?php
class SomeClass {
    public $artist;
    public $title;
}
$album=new SomeClass();
$data = (array)$album;
?>


然而,这种转换有时很棘手。

您可以使用实体、表单、输入过滤器和过滤器的智能组合,或者几乎没有逻辑来完成CRUD任务。对于管理接口,我通常生成控制器、窗体和其他类。我使用Sublime Text 2,生成这些类的代码片段可以在我的

这导致:

  • 具有索引(列表)、查看(单个项目)、创建、更新和删除的控制器
  • 包含所有实体字段的窗体
  • 用于查询实体的存储库(条令)
  • 要持久化到数据库的服务(创建一个、保存一个或删除一个)
  • 这将解决#1和#2。由于ZF2过滤和水合作用的方式,这也将为您解决#4。然后,可以只设置要筛选的字段的选择数量,但我还没有实现。我只想知道如何做到这一点


    如果您想了解上述代码片段的实现,请查看使用类似策略的代码片段。

    您的问题是什么?我的问题是-考虑到上述情况,在ZF2中实现crud系统的最佳实践是什么。