Spec-Zone.ru › CakePHP 3.1

Класс Entity

Сущность представляет собой одну строку результата из репозитория. Она предоставляет методы для извлечения и сохранения свойств, связанных с этой строкой.

Cake\ORM\Entity реализует Cake\Datasource\EntityInterface использует Cake\Datasource\EntityTrait
Пространство имён: Cake\ORM
Расположение: ORM/Entity.php

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

__constructsource public

__construct( array $properties [] , array $options [] )

Инициализирует внутренние свойства этой сущности из ключей в массиве. Можно использовать следующие параметры:

  • useSetters: использовать внутренние сеттеры для свойств или нет
  • markClean: пометить все свойства как чистые после их установки
  • markNew: указывает, что экземпляр ещё не сохранён
  • guard: предотвращать установку недоступных свойств (по умолчанию: false)
  • source: Строка, представляющая псевдоним репозитория, из которого пришла эта сущность

Пример:

$entity = new Entity(['id' => 1, 'name' => 'Andrew'])

Параметры

массив $properties необязательно []
хеш свойств для установки в этой сущности
массив $options необязательно []
список параметров для создания этой сущности

Методы, используемые из Cake\Datasource\EntityTrait

__debugInfosource public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

array
массив

__getsource public

__get( string $property )

Магический геттер для доступа к свойствам, которые были установлены в этой сущности

Параметры

строка $property
Имя свойства для доступа

Возвращает

mixed
смешанный тип

__issetsource public

__isset( string $property )

Возвращает, содержит ли эта сущность свойство с именем $property, независимо от того, пусто оно или нет.

Параметры

строка $property
Свойство для проверки.

Возвращает

boolean
булево

См. также

Cake\ORM\Entity::has()

__setsource public

__set( string $property , mixed $value )

Магический сеттер для добавления или изменения свойства в этой сущности

Параметры

строка $property
Имя свойства для установки
смешанный тип $value
Значение для установки в свойство

__toStringsource public

__toString( )

Возвращает строковое представление этого объекта в удобочитаемом формате.

Возвращает

string
строка

__unsetsource public

__unset( string $property )

Удаляет свойство из этой сущности

Параметры

строка $property
Свойство для удаления

_methodExistssource protected

_methodExists( string $method )

Определяет, существует ли метод в этом классе

Параметры

строка $method
метод для проверки существования

Возвращает

boolean
true, если метод существует

_nestedErrorssource protected

_nestedErrors( string $field )

Вспомогательный метод для получения ошибок во вложенных сущностях

Параметры

строка $field
поле в этой сущности для проверки ошибок

Возвращает

array
ошибки во вложенной сущности, если таковые имеются

_readErrorsource protected

_readError( array|Cake\Datasource\EntityTrait $object , string $path null )

Чтение ошибки(ок) из одного или нескольких объектов.

Параметры

массив|Cake\Datasource\EntityTrait $object
Объект для чтения ошибок.
строка $path необязательно null
Имя поля для ошибок.

Возвращает

array
массив

accessiblesource public

accessible( string|array $property , boolean $set null )

Хранит информацию о том, можно ли изменить или установить значение свойства в этой сущности. Специальное свойство * также можно пометить как доступное или защищённое, что означает, что любое другое указанное свойство примет его значение. Например, $entity->accessible('*', true) означает, что любое не указанное ранее свойство будет по умолчанию доступно.

Также можно вызвать этот метод с массивом свойств, в этом случае каждое из них получит указанное значение доступности.

Пример:

$entity->accessible('id', true); // Mark id as not protected
$entity->accessible('author_id', false); // Mark author_id as protected
$entity->accessible(['id', 'user_id'], true); // Mark both properties as accessible
$entity->accessible('*', false); // Mark all properties as protected

При вызове без второго параметра он возвращает возможность установки свойства.

Пример:

$entity->accessible('id'); // Returns whether it can be set or not

Параметры

строка|массив $property
одно или список свойств для изменения доступности
булево $set необязательно null
true помечает свойство как доступное, false — как защищённое.

Возвращает

mixed
$this|булево

Реализация

Cake\Datasource\EntityInterface::accessible()

cleansource public

clean( )

Помечает всю сущность как чистую, что означает, что она будет выглядеть как будто ни одно свойство не было изменено или добавлено. Это полезный вызов для начальной гидратации объекта.

Реализация

Cake\Datasource\EntityInterface::clean()

dirtysource public

dirty( string $property null , null|boolean $isDirty null )

Устанавливает состояние «изменённое» для одного свойства. Если вызывается без второго аргумента, она вернёт, было ли свойство изменено после создания объекта.

Если вызывается без аргументов, вернёт, есть ли в сущности изменённые свойства.

Параметры

строка $property необязательно null
поле для установки или проверки статуса
null|булево $isDirty необязательно null
true означает, что свойство было изменено, false — что нет, а null заставит функцию вернуть текущее состояние для этого свойства

Возвращает

boolean
Было ли свойство изменено

Реализация

Cake\Datasource\EntityInterface::dirty()

errorssource public

errors( string|array|null $field null , string|array|null $errors null , boolean $overwrite false )

Устанавливает сообщения об ошибках для поля или списка полей. Если вызывается без второго аргумента, возвращает сообщения об ошибках валидации для указанных полей. Если вызывается без аргументов, возвращает все сообщения об ошибках валидации, хранящиеся в этой сущности и любых других вложенных сущностях.

Пример

// Sets the error messages for a single field
$entity->errors('salary', ['must be numeric', 'must be a positive number']);

// Returns the error messages for a single field
$entity->errors('salary');

// Returns all error messages indexed by field name
$entity->errors();

// Sets the error messages for multiple fields at once
$entity->errors(['salary' => ['message'], 'name' => ['another message']);

При использовании в качестве сеттера этот метод вернёт экземпляр этой сущности для цепочки методов.

Параметры

строка|массив|null $field необязательно null
Поле для получения ошибок или массив ошибок для установки.
строка|массив|null $errors необязательно null
Ошибки для установки для $field
булево $overwrite необязательно false
Заменить ли существующие ошибки для $field

Возвращает

array|$this
$this

Реализация

Cake\Datasource\EntityInterface::errors()
END_OF_DOCUMENT_MARKER

extractsource public

extract( array $properties , boolean $onlyDirty false )

Возвращает массив с запрошенными свойствами, хранящимися в этом объекте, индексированными по имени свойства

Параметры

массив $properties
список свойств, которые должны быть возвращены
логическое значение $onlyDirty необязательно false
Возвращает запрошенное свойство только если оно модифицировано

Возвращает

array
массив

Реализация

Cake\Datasource\EntityInterface::extract()

extractOriginalsource public

extractOriginal( array $properties )

Возвращает массив с запрошенными исходными свойствами, хранящимися в этом объекте, индексированными по имени свойства.

Свойства, которые не были изменены со своего исходного значения, будут включены в результат этого метода.

Параметры

массив $properties
Список свойств, которые должны быть возвращены

Возвращает

array
массив

extractOriginalChangedsource public

extractOriginalChanged( array $properties )

Возвращает массив только с исходными свойствами, хранящимися в этом объекте, индексированными по имени свойства.

Этот метод вернёт только свойства, которые были изменены с момента создания объекта. Неизменённые свойства будут пропущены.

Параметры

массив $properties
Список свойств, которые должны быть возвращены

Возвращает

array
массив

getsource public

get( string $property )

Возвращает значение свойства по имени

Параметры

строка $property
имя свойства для извлечения

Возвращает

mixed
смешанный тип

Выбрасывает

InvalidArgumentException
если передано пустое имя свойства

Реализация

Cake\Datasource\EntityInterface::get()

getOriginalsource public

getOriginal( string $property )

Возвращает значение исходного свойства по имени

Параметры

строка $property
имя свойства, для которого необходимо получить исходное значение.

Возвращает

mixed
смешанный тип

Выбрасывает

InvalidArgumentException
если передано пустое имя свойства.

hassource public

has( string|array $property )

Возвращает, содержит ли этот объект свойство с именем $property, независимо от того, пустое оно или нет.

Пример:

$entity = new Entity(['id' => 1, 'name' => null]);
$entity->has('id'); // true
$entity->has('name'); // false
$entity->has('last_name'); // false

При проверке нескольких свойств. Все свойства не должны быть null для возврата true.

Параметры

строка или массив $property
Свойство или свойства для проверки.

Возвращает

boolean
булево значение

Реализация

Cake\Datasource\EntityInterface::has()

hiddenPropertiessource public

hiddenProperties( null|array $properties null )

Получить/Установить скрытые свойства в этом объекте.

Если аргумент properties равен null, то будут возвращены текущие скрытые свойства. В противном случае скрытые свойства будут установлены.

Параметры

null|массив $properties необязательно null
Массив свойств для скрытия или null для получения свойств

Возвращает

array|$this
$this

Реализация

Cake\Datasource\EntityInterface::hiddenProperties()

isNewsource public

isNew( boolean|null $new null )

Возвращает true, если объект ещё не сохранён в базе данных. Метод может вернуть null, если нет информации о статусе объекта.

Если вызван с boolean, то устанавливает известный статус экземпляра: true — экземпляр ещё не сохранён в базе данных, false — уже сохранён.

Параметры

boolean|null $new необязательно null
true, если известно, что экземпляр был сохранён

Возвращает

boolean
Было ли сохранён entity.

Реализация

Cake\Datasource\EntityInterface::isNew()

jsonSerializesource public

jsonSerialize( )

Возвращает свойства, которые будут сериализованы как JSON

Возвращает

array
массив

offsetExistssource public

offsetExists( mixed $offset )

Реализует isset($entity);

Параметры

смешанный тип $offset
Смещение для проверки.

Возвращает

boolean
Успех

offsetGetsource public

offsetGet( mixed $offset )

Реализует $entity[$offset];

Параметры

смешанный тип $offset
Смещение для получения.

Возвращает

mixed
смешанный тип

offsetSetsource public

offsetSet( mixed $offset , mixed $value )

Реализует $entity[$offset] = $value;

Параметры

смешанный тип $offset
Смещение для установки.
смешанный тип $value
Значение для установки.

offsetUnsetsource public

offsetUnset( mixed $offset )

Реализует unset($result[$offset);

Параметры

смешанный тип $offset
Смещение для удаления.

setsource public

set( string|array $property , mixed $value null , array $options [] )

Устанавливает отдельное свойство в этом объекте.

Пример:

$entity->set('name', 'Andrew');

Также возможно массовое назначение нескольких свойств этому объекту одним вызовом, передав массив свойств в виде пар имя => значение

Пример:

$entity->set(['name' => 'andrew', 'id' => 1]);
echo $entity->name // prints andrew
echo $entity->id // prints 1

Иногда бывает удобно обойти функции-сеттеры в этом объекте при присваивании свойств. Это можно сделать, отключив опцию setter с помощью параметра %%%CODE_BLOCK_104%%:

$entity->set('name', 'Andrew', ['setter' => false]);
$entity->set(['name' => 'Andrew', 'id' => 1], ['setter' => false]);

Массовое присваивание следует обрабатывать с осторожностью при приёме пользовательского ввода. По умолчанию объекты будут проверять все поля при присваивании свойств оптом. Можно отключить проверку для одного вызова set с помощью опции %%%CODE_BLOCK_106%%:

$entity->set(['name' => 'Andrew', 'id' => 1], ['guard' => true]);

Нет необходимости использовать опцию проверки при присваивании свойств по отдельности:

// No need to use the guard option.
$entity->set('name', 'Andrew');

Параметры

строка или массив $property
имя устанавливаемого свойства или список свойств со значениями
смешанный тип $value необязательно null
Значение для установки свойства или массив, если первый аргумент — массив, в этом случае он будет интерпретирован как $options
массив $options необязательно []
Опции для использования при установке свойства. Допустимые ключи опций — setter и guard

Возвращает

mixed
$this

Выбрасывает

InvalidArgumentException
\InvalidArgumentException

Реализация

Cake\Datasource\EntityInterface::set()

sourcesource public

source( string $alias null )

Возвращает псевдоним репозитория, откуда этот объект был получен.

Если вызывается без аргументов, возвращает псевдоним репозитория, откуда этот объект был получен, если он известен.

Параметры

строка $alias необязательно null
псевдоним репозитория

Возвращает

string|$this
$this

toArraysource public

toArray( )

Возвращает массив со всеми свойствами, которые были установлены в этом объекте

Этот метод рекурсивно преобразует объекты, присвоенные свойствам, в массивы также.

Возвращает

array
массив

Реализация

Cake\Datasource\EntityInterface::toArray()
END_OF_DOCUMENT_MARKER

unsetPropertysource public

unsetProperty( string|array $property )

Удаляет свойство или список свойств из этого объекта.

Примеры:

$entity->unsetProperty('name');
$entity->unsetProperty(['name', 'last_name']);

Параметры

строка|массив $property
Свойство для удаления.

Возвращает

mixed
$this

Реализация

Cake\Datasource\EntityInterface::unsetProperty()

virtualPropertiessource public

virtualProperties( null|array $properties null )

Получение/установка виртуальных свойств объекта.

Если параметр properties равен null, возвращаются текущие виртуальные свойства. В противном случае виртуальные свойства устанавливаются.

Параметры

null|массив $properties необязательно null
Массив свойств, которые следует обрабатывать как виртуальные, или null для получения свойств

Возвращает

array|$this
$this

Реализация

Cake\Datasource\EntityInterface::virtualProperties()

visiblePropertiessource public

visibleProperties( )

Получение списка видимых свойств.

Список видимых свойств включает все стандартные свойства, плюс виртуальные, минус скрытые свойства.

Возвращает

array
Список свойств, которые являются 'видимыми' во всех представлениях.

Реализация

Cake\Datasource\EntityInterface::visibleProperties()

Свойства, используемые из Cake\Datasource\EntityTrait

$_accessiblesource

protected массив

Массив свойств этого объекта, которые можно безопасно назначить; каждое имя свойства сопоставлено с булевым значением, указывающим его статус. Пустой массив означает, что нет доступных свойств.

Специальное свойство '*' также может быть отображено, что означает, что любое другое свойство, не определенное в массиве, будет принимать свое значение. Например, '*' => true означает, что любое свойство, не определенное в массиве, будет по умолчанию доступным.

['*' => true]

$_accessorssource

protected static массив

Хранит кэшированный список методов, которые существуют в классе экземпляра.

[]

$_classNamesource

protected строка

Хранит имя класса для экземпляра объекта.

$_dirtysource

protected массив

Хранит список свойств, которые были изменены или добавлены после того, как этот объект был первоначально создан.

[]

$_errorssource

protected массив

Список ошибок по полям, хранящихся в этом объекте.

[]

$_hiddensource

protected массив

Список имён свойств, которые не должны включаться в JSON или массивы, представляющие этот объект.

[]

$_newsource

protected булево

Указывает, является ли этот объект ещё не сохранённым. Объекты по умолчанию предполагают, что они новые. Вы можете использовать Table::persisted(), чтобы установить флаг new на объекте, основываясь на записях в базе данных.

true

$_originalsource

protected массив

Хранит все свойства, которые были изменены, и их исходные значения для этого объекта.

[]

$_propertiessource

protected массив

Хранит все свойства и их значения для этого объекта.

[]

$_registryAliassource

protected строка

Псевдоним хранилища, из которого произошёл этот объект.

$_virtualsource

protected массив

Список вычисленных или виртуальных полей, которые должны быть включены в JSON или массивы, представляющие этот объект. Если поле присутствует как в `_hidden`, так и в `_virtual`, оно не будет в массивах/JSON-представлениях объекта.

[]

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.ORM.Entity.html

Spec-Zone.ru

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