damacisaac/zf2-osd-entity

该软件包最新版本(v0.1.3)没有提供许可证信息。

v0.1.3 2015-03-05 23:51 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:17:48 UTC


README

本模块为Zend Framework 2实体提供了一些默认函数。本模块包含一个类

  • OsdEntity/BasicEntity

版本

0.1.1

安装和设置

可以使用composer安装此软件包。将以下内容添加到您的composer.json文件中

{
    "require": {
        "damacisaac/zf2-osd-entity": "0.1.1"
    }
}

运行composer

php composer.phar update

用您的实体扩展BasicEntity

use OsdEntity\BasicEntity;

class MyEntity extends BasicEntity { ... }

使用方法

填充

为您的实体分配值的简单方法。接受一个对象或键值数组,以及可选的排除属性列表

$myEntity->fill(
    array(
        'firstName' => 'Angus',
        'lastName' => 'MacIsaac',
        'excludedAttributeOne' => 'wontBeSet',
    ),
    array(
        'excludedAttributeOne',
    ));
创建

创建实体的实例。接受一个对象或键值数组,以及可选的排除属性列表。内部使用fill

MyEntity::create(
    array(
        'firstName' => 'Angus',
        'lastName' => 'MacIsaac',
        'excludedAttributeOne' => 'wontBeSet',
    ),
    array(
        'excludedAttributeOne',
    ));
更新

更新实体。接受一个对象或键值数组,以及可选的排除属性列表。内部使用fill

$myEntity->update(
    array(
        'firstName' => 'Angus',
        'lastName' => 'MacIsaac',
        'excludedAttributeOne' => 'wontBeSet',
    ),
    array(
        'excludedAttributeOne',
    ));
toArray

将实体转换为键/值对的数组。还可以接受一个可选的关系列表,这些关系应转换为数组并添加到结果中。关系可以嵌套。

要了解在转换为数组时使用哪些属性,我们必须在模型上定义它们

protected $this->attributes = array(
    'firstName',
    'lastName'
);

为了将关系转换为数组,我们还必须在模型上定义它们,指定关系类型

protected $this->relations = array(
    'friends' => self::RELATION_MANY,
    'profile' => self::RELATION_ONE
);

考虑一个用户实体,该实体有多个朋友,每个朋友都有一个工作和一辆车。我们可以使用以下方式获取完整的嵌套数组

$myUser->toArray(array('friends.job', 'friends.car'))

如果我们只想连接朋友,我们可以使用

$myUser->toArray(array('friends'));
定制toArray

要覆盖toArray函数的返回值,我们可以在模型上定义一个getter。考虑一个具有日期属性的模型,我们希望将其作为格式化的日期字符串返回。我们会在实体中添加以下内容

public function getDate()
{
    return $this->date()->format(\DateTime::W3C);
}

当然,如果我们想要更高的定制程度,我们总是可以覆盖toArray()方法

public function toArray(array $with = array())
{
    $result = parent::toArray($with);

    /* Add custom attributes */

    return $result;
}

许可证

MIT许可证(MIT)

版权(c)2015 damacisaac

特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及准许向软件提供方提供软件的人使用软件的权利,但前提是必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,除非明确说明,否则不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途适用性或非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,与软件或软件的使用或其他交易有关。