Interface yii\base\Arrayable

所有类 | 方法

可用自版本2.0

Arrayable应该实现的接口的类想要支持可定制的表示的实例。

例如,如果一个类实现Arrayable,通过调用toArray(),这个类的一个实例可以被转换成一个数组(包括其所有嵌入的对象),然后可以进一步容易转变成其他格式,比如JSON、XML。

字段()和域外()方法允许实现类定制,哪些数据应该如何格式化并放入toArray()的结果。

公共方法

隐藏继承方法

方法描述定义在
extraFields()返回的列表附加字段,可以由toArray()返回除了这些字段中列出()。yii\base\Arrayable
fields()返回的字段列表应该返回默认的toArray()当没有指定特定的字段。yii\base\Arrayable
toArray()将对象转换为一个数组。yii\base\Arrayable

方法详情

extraFields() public abstract 方法

返回的列表附加字段,可以由toArray()返回除了这些字段中列出()。

T他的方法类似于字段()除了列表字段声明该方法不返回默认toArray()。只有当一个字段列表中显式地请求,它将被包括在toArray()的结果。

参见:

public abstract array extraFields ( )
returnarray

可扩展的字段名称或字段定义的列表。请参考字段()返回值的格式。

fields() public abstract 方法

返回的字段列表应该返回默认的toArray()当没有指定特定的字段。

一个字段是一个名叫toArray()返回数组中的元素。

此方法应该返回一个数组字段名和字段定义。如果是前者,字段名称将被视为一个对象属性名称的值将被用作字段值。如果是后者,数组的键应该是字段名,而数组的值应该是对应的字段定义可以是一个对象的属性名或一个PHP调用返回相应的字段值。可赎回的签名:

function ($model, $field) {
    // return field value
}

例如,下面的代码声明四个字段:

  • email: 字段名是一样的属性名 email;
  • firstName和lastName:firstName和lastName字段名称,和它们的值从first_nameand last_name获得属性;
  • fullName:fullName字段名。它的值是通过连接first_name和last_name。
return [
    'email',
    'firstName' => 'first_name',
    'lastName' => 'last_name',
    'fullName' => function ($model) {
        return $model->first_name . ' ' . $model->last_name;
    },
];

参见 toArray().

public abstract array fields ( )
returnarray

字段名和字段定义的列表。

toArray() public abstract 方法

将对象转换为一个数组。

public abstract array toArray ( array $fields = [], array $expand = [], $recursive = true )
$fieldsarray

输出数组中应该包含的字段。字段不指定fields() 将被忽略。如果该参数为空,所有字段中指定的fields() 将返回。

$expandarray

输出数组中应该包含的附加字段。没有指定extraFields()()将被忽略。如果该参数为空,没有额外的字段将被归还。

$recursiveboolean

是否嵌入对象的递归返回数组表示。

returnarray

对象的数组表示

转载于:https://my.oschina.net/u/2552765/blog/852405

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值