Trait EntityTrait
Сущность представляет собой одну строку результата из хранилища. Она предоставляет методы для извлечения и сохранения свойств, связанных в этой строке.
Прямые пользователи
Краткое описание свойств
-
$_accessibleprotectedarrayКарта свойств в этой сущности, которые могут быть безопасно назначены, каждое имя свойства указывает на булево значение, указывающее его состояние. Пустой массив означает, что доступные свойства отсутствуют.
- Содержит кэшированный список методов get/set на класс.
array -
$_classNameprotectedСодержит имя класса для объекта экземпляра.string -
$_dirtyprotectedarrayСодержит список свойств, которые были изменены или добавлены после первоначального создания этого объекта.
-
$_errorsprotectedСписок ошибок по полю, как хранится в этом объекте.array -
$_hiddenprotectedarrayСписок имён свойств, которые не должны включаться в JSON или представлении массива этой сущности.
-
$_invalidprotectedСписок недопустимых полей и их данных для ошибок при валидации/патчинге.array -
$_newprotectedbooleanУказывает, сохранена ли сущность. Сущности по умолчанию предполагают, что они новые. Вы можете использовать Table::persisted(), чтобы установить флаг нового объекта на основе записей в базе данных.
-
$_originalprotectedСодержит все изменённые свойства и их исходные значения для этой сущности.array -
$_propertiesprotectedСодержит все свойства и их значения для этой сущности.array -
$_registryAliasprotectedПсевдоним хранилища, из которого пришла эта сущность.string -
$_virtualprotectedarrayСписок вычисленных или виртуальных полей, которые должны быть включены в JSON или представления массива этой сущности. Если поле присутствует как в _hidden, так и в _virtual, поле не будет в массиве/JSON-версиях сущности.
Краткое описание методов
- __debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- __get() publicМагический геттер для доступа к свойствам, которые были установлены в этом сущности
- __isset() public
Возвращает, содержит ли эта сущность свойство с именем $property, независимо от того, пусто оно или нет.
- __set() publicМагический сеттер для добавления или изменения свойства в этой сущности
- __toString() publicВозвращает строковое представление этого объекта в удобочитаемом формате.
- __unset() publicУдаляет свойство из этой сущности
-
Получить имя метода доступа. Методы доступа (доступны или нет) кэшируются в $_accessors
- _nestedErrors() protectedВспомогательный метод для получения ошибок во вложенных сущностях
- _readError() protectedЧтение ошибки(ок) из одного или нескольких объектов.
- accessible() public
Хранит, можно ли изменить или установить значение свойства в этой сущности. Специальное свойство
*также может быть помечено как доступное или защищенное, что означает, что любое другое указанное ранее свойство примет его значение. Например,$entity->accessible('*', true)означает, что любое свойство, которое еще не указано, будет по умолчанию доступным. - clean() public
Устанавливает всю сущность как чистую, что означает, что она будет отображаться как если бы никакие свойства не изменялись или не добавлялись вообще. Это полезный вызов для первоначальной загрузки объекта
- dirty() public
Устанавливает состояние «изменён» для отдельного свойства. Если вызывается без второго аргумента, возвращает, было ли свойство изменено или нет после создания объекта.
- errors() public
Устанавливает сообщения об ошибках для поля или списка полей. При вызове без второго аргумента возвращает ошибки валидации для указанных полей. Если вызывается без аргументов, возвращает все сообщения об ошибках валидации, хранящиеся в этой сущности и любой другой вложенной сущности.
- extract() public
Возвращает массив с запрошенными свойствами, хранящимися в этой сущности, индексированными по имени свойства
- extractOriginal() public
Возвращает массив с запрошенными исходными свойствами, хранящимися в этой сущности, индексированными по имени свойства.
- extractOriginalChanged() public
Возвращает массив только с исходными свойствами, хранящимися в этой сущности, индексированными по имени свойства.
- get() publicВозвращает значение свойства по имени
- getOriginal() publicВозвращает значение исходного свойства по имени
- getOriginalValues() publicПолучает все исходные значения сущности.
- has() public
Возвращает, содержит ли эта сущность свойство с именем $property, содержащее ненулевое значение.
- hiddenProperties() publicПолучение/установка скрытых свойств этой сущности.
- invalid() publicПомечает поле как невалидное и не подлежащее восстановлению в сущности.
- isNew() public
Возвращает, была ли эта сущность уже сохранена. Этот метод может вернуть null в случае отсутствия предварительной информации о состоянии этой сущности.
- jsonSerialize() publicВозвращает свойства, которые будут сериализованы как JSON
- offsetExists() publicРеализует isset($entity);
- offsetGet() publicРеализует $entity[$offset];
- offsetSet() publicРеализует $entity[$offset] = $value;
- offsetUnset() publicРеализует unset($result[$offset]);
- set() publicУстанавливает отдельное свойство внутри этой сущности.
- source() publicВозвращает псевдоним репозитория, из которого эта сущность была получена.
- toArray() public
Возвращает массив со всеми свойствами, которые были установлены для этой сущности.
- unsetProperty() publicУдаляет свойство или список свойств из этой сущности
- virtualProperties() publicПолучение/установка виртуальных свойств этой сущности.
- visibleProperties() publicПолучить список видимых свойств.
Подробное описание методов
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $property )
Магический геттер для доступа к свойствам, которые были установлены в этой сущности
Параметры
- строка
$property - Имя свойства для доступа
Возвращает
смешанное__isset()source public
__isset( string $property )
Возвращает, содержит ли эта сущность свойство с именем $property, независимо от того, пусто оно или нет.
Параметры
- строка
$property - Свойство для проверки.
Возвращает
булевоСм. также
\Cake\ORM\Entity::has()__set()source public
__set( string $property , mixed $value )
Магический сеттер для добавления или изменения свойства в этой сущности
Параметры
- строка
$property - Имя свойства для установки
- смешанное
$value - Значение для установки свойства
__toString()source public
__toString( )
Возвращает строковое представление этого объекта в удобочитаемом формате.
Возвращает
строка__unset()source public
__unset( string $property )
Удаляет свойство из этой сущности
Параметры
- строка
$property - Свойство для удаления
_accessor()source protected static
_accessor( string $property , string $type )
Получить имя метода доступа. Методы доступа (доступны или нет) кэшируются в $_accessors
Параметры
- строка
$property - имя поля для получения имени метода доступа
- строка
$type - тип метода доступа ('get' или 'set')
Возвращает
имя метода или пустую строку (метод недоступен)_nestedErrors()source protected
_nestedErrors( string $field )
Вспомогательный метод для получения ошибок в вложенных сущностях
Параметры
- строка
$field - поле в этой сущности, для проверки ошибок
Возвращаемое значение
массивошибки вложенной сущности, если таковые имеются
_readError()source protected
_readError( array|Cake\Datasource\EntityTrait $object , string|null $path null )
Чтение ошибки(ок) из одного или нескольких объектов.
Параметры
- массив|
Cake\Datasource\EntityTrait$object - объект, для чтения ошибок.
- строка|null
$pathнеобязательно null - имя поля для ошибок.
Возвращаемое значение
массивaccessible()source public
accessible( string|array $property , boolean|null $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 - одно или список свойств, для изменения доступности
- булево|null
$setнеобязательно null true отмечает свойство как доступное, false — как защищенное.
Возвращаемое значение
$this|bool
clean()source public
clean( )
Очищает всю сущность, что означает, что она будет выглядеть так, как будто никакие свойства не были изменены или добавлены. Это полезный вызов для начальной гидратации объекта
dirty()source public
dirty( string|null $property null , null|boolean $isDirty null )
Устанавливает состояние «изменён» для отдельного свойства. Если вызов осуществляется без второго аргумента, он возвращает, было ли свойство изменено после создания объекта или нет.
При вызове без аргументов, возвращается, есть ли изменённые свойства в сущности.
Параметры
- строка|null
$propertyнеобязательно null - поле для установки или проверки состояния
- null|boolean
$isDirtyнеобязательно null true — свойство было изменено, false — не было изменено, а null заставит функцию вернуть текущее состояние для этого свойства
Возвращаемое значение
булевоБыло ли свойство изменено или нет
errors()source 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
Возвращаемое значение
массив|Cake\Datasource\EntityTrait$this
extract()source public
extract( array $properties , boolean $onlyDirty false )
Возвращает массив с запрошенными свойствами, хранящимися в этой сущности, индексированными по имени свойства
Параметры
- массив
$properties - список свойств, которые нужно вернуть
- булево
$onlyDirtyнеобязательно false - Возвращать запрошенное свойство только если оно изменено
Возвращаемое значение
массивextractOriginal()source public
extractOriginal( array $properties )
Возвращает массив с исходными запрошенными свойствами, хранящимися в этой сущности, индексированными по имени свойства.
Свойства, которые не изменены с момента их первоначального значения, будут включены в результат этого метода.
Параметры
- массив
$properties - Список свойств, которые нужно вернуть
Возвращаемое значение
массивextractOriginalChanged()source public
extractOriginalChanged( array $properties )
Возвращает массив только с исходными свойствами, хранящимися в этой сущности, индексированными по имени свойства.
Этот метод вернёт только свойства, которые были изменены с момента создания сущности. Неизменённые свойства будут опущены.
Параметры
- массив
$properties - Список свойств, которые нужно вернуть
Возвращаемое значение
массивget()source public
get( string $property )
Возвращает значение свойства по имени
Параметры
- строка
$property - имя свойства для извлечения
Возвращаемое значение
смешанный типИсключения
InvalidArgumentExceptionесли передано пустое имя свойства
getOriginal()source public
getOriginal( string $property )
Возвращает значение исходного свойства по имени
Параметры
- строка
$property - имя свойства, для которого требуется извлечь исходное значение.
Возвращаемое значение
смешанный типИсключения
InvalidArgumentExceptionесли передано пустое имя свойства.
getOriginalValues()source public
getOriginalValues( )
Получает все исходные значения сущности.
Возвращаемое значение
массивhas()source 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 Вы можете проверить несколько свойств, передав массив:
$entity->has(['name', 'last_name']);
Все свойства должны быть не null, чтобы получить истинное значение.
При проверке нескольких свойств. Все свойства должны быть не null, чтобы вернуть true.
Параметры
- строка|массив
$property - свойство или свойства для проверки.
Возвращаемое значение
булевоhiddenProperties()source public
hiddenProperties( null|array $properties null )
Получить/установить скрытые свойства этой сущности.
Если аргумент properties равен null, будут возвращены текущие скрытые свойства. В противном случае скрытые свойства будут установлены.
Параметры
- null|массив
$propertiesнеобязательно null - массив свойств, которые нужно скрыть, или null, чтобы получить свойства
Возвращаемое значение
массив|Cake\Datasource\EntityTrait$this
invalid()source public
invalid( string|array|null $field null , mixed|null $value null , boolean $overwrite false )
Устанавливает поле как недействительное и непригодное для обработки в сущности.
Это полезно для пакетных операций, когда необходимо получить исходное значение для сообщения об ошибке после исправления. Это значение не может быть обработано в сущность и просто копируется в свойство _invalid для отладки или для возможности его протоколирования.
Параметры
- строка|массив|null
$fieldнеобязательно null - Поле, для которого нужно получить недействительное значение, или значение для установки.
- смешанный|null
$valueнеобязательно null - Недействительное значение, которое нужно установить для $field.
- булево
$overwriteнеобязательно false - Заменять ли существующие значения для $field.
Возвращает
$this|смешанный
isNew()source public
isNew( boolean|null $new null )
Возвращает, была ли эта сущность уже сохранена. Этот метод может вернуть null в случае, если нет предварительной информации о состоянии этой сущности.
Если вызывается с булевым значением, оно установит известный статус этого экземпляра, true означает, что экземпляр еще не сохранен в базе данных, false — что он уже сохранен.
Параметры
- булево|null
$newнеобязательно null - true, если известно, что этот экземпляр был сохранен
Возвращает
булевоБыла ли сущность сохранена.
jsonSerialize()source public
jsonSerialize( )
Возвращает свойства, которые будут сериализованы как JSON
Возвращает
массивoffsetExists()source public
offsetExists( mixed $offset )
Реализует isset($entity);
Параметры
- смешанный
$offset - Проверяемый смещение.
Возвращает
булевоУспех
offsetGet()source public
offsetGet( mixed $offset )
Реализует $entity[$offset];
Параметры
- смешанный
$offset - Смещение для получения.
Возвращает
смешанныйoffsetSet()source public
offsetSet( mixed $offset , mixed $value )
Реализует $entity[$offset] = $value;
Параметры
- смешанный
$offset - Смещение для установки.
- смешанный
$value - Значение для установки.
offsetUnset()source public
offsetUnset( mixed $offset )
Реализует unset($result[$offset]);
Параметры
- смешанный
$offset - Смещение для удаления.
set()source 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 с помощью параметра $options:
$entity->set('name', 'Andrew', ['setter' => false]);
$entity->set(['name' => 'Andrew', 'id' => 1], ['setter' => false]); Массовое назначение следует рассматривать с осторожностью при приеме пользовательских данных; по умолчанию сущности будут защищать все поля при массовом назначении свойств. Можно отключить защиту для одного вызова set с опцией guard:
$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
Возвращает
$this
Выбрасывает
InvalidArgumentExceptionsource()source public
source( string|null $alias null )
Возвращает псевдоним репозитория, из которого была получена эта сущность.
Если вызвана без аргументов, возвращает псевдоним репозитория, из которого была получена эта сущность, если он известен.
Параметры
- строка|null
$aliasнеобязательно null - псевдоним репозитория
Возвращает
строка|Cake\Datasource\EntityTrait$this
toArray()source public
toArray( )
Возвращает массив со всеми установленными свойствами этой сущности
Этот метод будет рекурсивно преобразовывать сущности, назначенные свойствам, в массивы тоже.
Возвращает
массивunsetProperty()source public
unsetProperty( string|array $property )
Удаляет свойство или список свойств из этой сущности
Примеры:
$entity->unsetProperty('name');
$entity->unsetProperty(['name', 'last_name']); Параметры
- строка|массив
$property - Свойство для удаления.
Возвращает
$this
virtualProperties()source public
virtualProperties( null|array $properties null )
Получить/установить виртуальные свойства этой сущности.
Если аргумент properties равен null, будут возвращены текущие виртуальные свойства. В противном случае виртуальные свойства будут установлены.
Параметры
- null|массив
$propertiesнеобязательно null - Массив свойств, которые следует обрабатывать как виртуальные, или null, чтобы получить свойства
Возвращает
массив|Cake\Datasource\EntityTrait$this
visibleProperties()source public
visibleProperties( )
Получить список видимых свойств.
Список видимых свойств — это все стандартные свойства плюс виртуальные свойства минус скрытые свойства.
Возвращает
массивСписок свойств, которые «видимы» во всех представлениях.
Подробное описание свойств
$_accessiblesource
protected массив
Карта свойств этой сущности, которые можно безопасно назначить; каждое имя свойства указывает на булево значение, показывающее его состояние. Пустой массив означает, что свойства недоступны
Специальное свойство '*' также может быть отображено, что означает, что любое другое свойство, не определенное в карте, получит свое значение. Например, '\*' => true означает, что любое свойство, не определенное в карте, будет доступно по умолчанию
['*' => true]
$_accessorssource
protected static массив
Содержит кэшированный список методов-геттеров/сеттеров для каждого класса
[]
$_classNamesource
protected строка
Содержит имя класса для объекта экземпляра
Устарело
3.2 Это поле больше не используется$_dirtysource
protected array
Содержит список свойств, которые были изменены или добавлены после первоначального создания этого объекта.
[]
$_hiddensource
protected array
Список имён свойств, которые не должны включаться в JSON или массивы, представляющие этот объект.
[]
$_invalidsource
protected array
Список недопустимых полей и их данных для ошибок при валидации/патчинге.
[]
$_newsource
protected boolean
Указывает, был ли этот объект сохранён в базе данных. Объекты по умолчанию предполагаются новыми. Вы можете использовать Table::persisted(), чтобы установить флаг new для сущности на основе записей в базе данных.
true
$_originalsource
protected array
Содержит все изменённые свойства и их исходные значения для этого объекта.
[]
$_virtualsource
protected array
Список вычисляемых или виртуальных полей, которые должны включаться в 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.2/class-Cake.Datasource.EntityTrait.html