damacisaac / zf2-osd-entity
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
特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及准许向软件提供方提供软件的人使用软件的权利,但前提是必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,除非明确说明,否则不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途适用性或非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,与软件或软件的使用或其他交易有关。