DataObject
实现 DumpableInterface, IteratorAggregate, JsonSerializable, CountableDataObject 是一个用于存储数据的类,但它允许你通过模拟 PHP 处理类属性的方式来访问数据。
自 |
1.0 |
---|---|
包 |
Joomla 框架 |
方法
__construct
类的构造函数。
__construct( properties = []) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- properties
mixed
关联数组或其他对象,用于设置新对象的初始属性。
响应
mixed
__get
魔术 get 方法用于获取数据属性。
__get( property) :
此方法是受保护的 getProperty 方法的公共代理。
注意:魔术 __get 不允许递归调用。这可能很棘手,因为 __get 递归生成的错误是 "Undefined property: {CLASS}::{PROPERTY}",这具有误导性。这对于这个类很重要,因为请求不可见的属性可能会触发对子函数的调用。如果该子函数直接引用对象中的属性,它将导致对 __get 的递归。
参见 | DataObject::getProperty() |
---|---|
自 |
1.0 |
参数
- property
string
数据属性的名称。
响应
mixed
数据属性的值,如果数据属性不存在,则为 null。
__isset
魔术 isset 方法用于检查对象属性的状态。
__isset( property) :
自 |
1.0 |
---|
参数
- property
string
数据属性的名称。
响应
bool
__set
魔术 set 方法用于设置数据属性。
__set( property, value) :
这是受保护的 setProperty 方法的公共代理。
参见 | DataObject::setProperty() |
---|---|
自 |
1.0 |
参数
- property
string
数据属性的名称。- value
mixed
要赋予数据属性的值。
响应
void
__unset
魔术 unset 方法用于取消设置数据属性。
__unset( property) :
自 |
1.0 |
---|
参数
- property
string
数据属性的名称。
响应
void
bind
将数组或对象绑定到此对象。
bind( properties, updateNulls = true) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- properties
mixed
属性的关联数组或对象。- updateNulls
bool
是否绑定 null 值,false 表示忽略 null 值。
响应
$this
count
计算数据属性的数量。
count() :
自 |
1.0 |
---|
响应
int
数据属性的数量。
dump
将数据属性转储到对象中,如果适用,则递归。
dump( depth = 3, \SplObjectStorage dumped = null) : \stdClass
自 |
1.0 |
---|
参数
- depth
int
递归的最大深度(默认 = 3)。例如,深度为 0 将返回一个 stdClass,其中包含所有属性的原生形式。深度为 1 将仅递归到属性的第一层。- dumped
SplObjectStorage|null
已序列化对象的数组,用于避免无限循环。
响应
stdClass
dumpProperty
转储数据属性。
dumpProperty( property, depth, \SplObjectStorage dumped) :
如果设置了递归,此方法将转储任何实现 DumpableInterface 的对象(例如 DataObject 和 DataSet);它将把 DateTimeInterface 对象转换为字符串;它将把 Joomla\Registry\Registry 转换为对象。
自 |
1.0 |
---|
参数
- property
string
数据属性的名称。- depth
int
当前的递归深度(值为 0 将忽略递归)。- dumped
SplObjectStorage
已序列化对象的数组,用于避免无限循环。
响应
mixed
转储属性的值。
getIterator
获取此对象作为 ArrayIterator。
getIterator() : \ArrayIterator
这允许通过 foreach 语句访问数据属性。
参见 | IteratorAggregate::getIterator() |
---|---|
自 |
1.0 |
响应
ArrayIterator
getProperty
获取数据属性。
getProperty( property) :
jsonSerialize
以可序列化为 JSON 格式的形式获取数据属性。
jsonSerialize() :
自 |
1.0 |
---|
响应
mixed
setProperty
设置数据属性。
setProperty( property, value) :
如果属性的名称以空字节开头,此方法将返回 null。
参见 | DataObject::__set() |
---|---|
自 |
1.0 |
参数
- property
string
数据属性的名称。- value
mixed
要赋予数据属性的值。
响应
mixed
数据属性的值。
属性
properties
数据对象属性。
自 |
1.0 |
---|
类型
array<string|int, mixed>