Spec-Zone.ru › Yii 2.0

Интерфейс yii\base\Arrayable

Все классы | Методы
Реализовано в yii\base\DynamicModel, yii\base\Model, yii\db\ActiveRecord, yii\db\BaseActiveRecord, yii\debug\models\Router, yii\debug\models\UserSwitch, yii\debug\models\search\Base, yii\debug\models\search\Db, yii\debug\models\search\Debug, yii\debug\models\search\Log, yii\debug\models\search\Mail, yii\debug\models\search\Profile, yii\debug\models\search\User, yii\debug\models\timeline\Search, yii\elasticsearch\ActiveRecord, yii\gii\Generator, yii\gii\generators\controller\Generator, yii\gii\generators\crud\Generator, yii\gii\generators\extension\Generator, yii\gii\generators\form\Generator, yii\gii\generators\model\Generator, yii\gii\generators\module\Generator, yii\httpclient\debug\SearchModel, yii\mongodb\ActiveRecord, yii\mongodb\file\ActiveRecord, yii\mongodb\gii\model\Generator, yii\redis\ActiveRecord, yii\sphinx\ActiveRecord, yii\sphinx\gii\model\Generator
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/base/Arrayable.php

Arrayable — интерфейс, который должны реализовывать классы, желающие поддерживать настраиваемое представление своих экземпляров.

Например, если класс реализует Arrayable, вызвав toArray(), экземпляр этого класса можно преобразовать в массив (включая все вложенные объекты), который затем можно легко преобразовать в другие форматы, такие как JSON, XML.

Методы fields() и extraFields() позволяют реализующим классам настроить, как и какие данные должны быть отформатированы и включены в результат toArray().

Публичные методы

Метод Описание Определено в
extraFields() Возвращает список дополнительных полей, которые могут быть возвращены методом toArray() в дополнение к полям, перечисленным в fields(). yii\base\Arrayable
fields() Возвращает список полей, которые по умолчанию должны возвращаться методом toArray(), когда не указаны конкретные поля. yii\base\Arrayable
toArray() Преобразует объект в массив. yii\base\Arrayable

Подробное описание методов

extraFields() общедоступный абстрактный метод

Возвращает список дополнительных полей, которые могут быть возвращены методом toArray() в дополнение к полям, перечисленным в fields().

Этот метод похож на fields(), за исключением того, что список полей, объявленных в этом методе, по умолчанию не возвращается методом toArray(). Только когда поле из списка явно запрашивается, оно будет включено в результат toArray().

См. также:

  • toArray()
  • fields()
общедоступный абстрактный массив extraFields ( )
возвращаемое значение массив

Список имен расширяемых полей или определений полей. Обратитесь к fields() за формой возвращаемого значения.

fields() общедоступный абстрактный метод

Возвращает список полей, которые по умолчанию должны возвращаться методом toArray(), когда не указаны конкретные поля.

Поле — это именованный элемент в возвращаемом массиве методом toArray().

Этот метод должен возвращать массив имен полей или определений полей. Если это первое, имя поля будет рассматриваться как имя свойства объекта, значение которого будет использоваться в качестве значения поля. Если это последнее, ключ массива должен быть именем поля, а значение массива — соответствующим определением поля, которое может быть именем свойства объекта или PHP-выражением, возвращающим соответствующее значение поля. Подпись вызова должна быть:

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

Например, следующий код объявляет четыре поля:

  • email: имя поля совпадает с именем свойства email;
  • firstName и lastName: имена полей — firstName и lastName, а их значения получаются из свойств first_name и 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().

общедоступный абстрактный массив fields ( )
возвращаемое значение массив

Список имен полей или определений полей.

toArray() общедоступный абстрактный метод

Преобразует объект в массив.

общедоступный абстрактный массив toArray ( массив $fields = [], массив $expand = [], $recursive = true )
$fields массив

Поля, которые должны содержать выходной массив. Поля, не указанные в fields(), будут проигнорированы. Если этот параметр пуст, будут возвращены все поля, указанные в fields().

$expand массив

Дополнительные поля, которые должен содержать выходной массив. Поля, не указанные в extraFields(), будут проигнорированы. Если этот параметр пуст, дополнительные поля не будут возвращены.

$recursive логический

Необходимо ли рекурсивно возвращать представление массива вложенных объектов.

возвращаемое значение массив

Представление объекта в виде массива

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-base-arrayable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API