Spec-Zone.ru › CakePHP 3.3

Класс Entity

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

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

Наследуемые свойства

  • _accessible, _accessors, _className, _dirty, _errors, _hidden, _invalid, _new, _original, _properties, _registryAlias, _virtual

Краткое описание методов

  • __construct() public

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

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

__construct()source public

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

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

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

Пример:

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

Параметры

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

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

__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|булево значение $isDirty необязательный null

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

Возвращает

булево значение
Было ли свойство изменено
END_OF_DOCUMENT_MARKER

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

Выбрасывает

InvalidArgumentException

source()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( )

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

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

Возвращает

массив

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


© 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.ORM.Entity.html

Spec-Zone.ru

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