Трейт EntityTrait
Сущность представляет собой строку одного результата из репозитория. Она предоставляет методы для получения и хранения свойств, связанных в этой строке.
Прямые пользователи
Резюме свойств
-
$_accessibleprotectedarrayКарта свойств в этой сущности, которые можно безопасно назначить, каждое имя свойства указывает на булево значение, показывающее его состояние. Пустой массив означает, что нет доступных свойств.
- Хранит кэшированный список геттеров/сеттеров на класс
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( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array__get()source public
__get( string $property )
Магический геттер для доступа к свойствам, которые были установлены в этом объекте
Параметры
- string
$property - Имя свойства для доступа
Возвращает
mixed__isset()source public
__isset( string $property )
Возвращает, содержит ли этот объект свойство с именем $property, независимо от того, пусто оно или нет.
Параметры
- string
$property - Свойство для проверки.
Возвращает
booleanСм. также
\Cake\ORM\Entity::has()__set()source public
__set( string $property , mixed $value )
Магический сеттер для добавления или изменения свойства в этом объекте
Параметры
- string
$property - Имя свойства для установки
- mixed
$value - Значение для установки свойства
__toString()source public
__toString( )
Возвращает строковое представление этого объекта в удобочитаемом формате.
Возвращает
string__unset()source public
__unset( string $property )
Удаляет свойство из этого объекта
Параметры
- string
$property - Свойство для удаления
_accessor()source protected static
_accessor( string $property , string $type )
Получить имя метода-аксессора Методы-аксессоры (доступны или нет) кэшируются в $_accessors
Параметры
- string
$property - имя поля для получения имени метода-геттера
- string
$type - тип аксессора ('get' или 'set')
Возвращает
stringИмя метода или пустая строка (метод недоступен)
_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|булево
$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]); Массовое присваивание следует использовать осторожно при приёме пользовательского ввода. По умолчанию сущности будут защищать все поля при массовом присваивании свойств. Вы можете отключить эту защиту для отдельного вызова установки с помощью опции 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]
$_classNamesource
protected строка
Содержит имя класса для объекта экземпляра.
Устаревшее
3.2 Это поле больше не используется$_dirtysource
protected массив
Хранит список свойств, которые были изменены или добавлены после первоначального создания этого объекта.
[]
$_hiddensource
protected массив
Список имён свойств, которые не должны включаться в JSON или массивы представлений этого объекта.
[]
$_invalidsource
protected массив
Список невалидных полей и их данных для ошибок при валидации/патчинге
[]
$_newsource
protected логическое
Указывает, является ли этот объект ещё не сохранённым. Объекты по умолчанию предполагаются новыми. Вы можете использовать Table::persisted() для установки флага нового объекта на основе записей в базе данных.
true
$_originalsource
protected массив
Содержит все свойства, которые были изменены, и их исходные значения для этого объекта
[]
$_virtualsource
protected массив
Список вычисленных или виртуальных полей, которые должны включаться в JSON или массивы представлений этого объекта. Если поле присутствует как в _hidden, так и в _virtual, поле не будет включено в массив/json версии объекта.
[]
© 2005–2017 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.
https://api.cakephp.org/3.3/class-Cake.Datasource.EntityTrait.html