Spec-Zone.ru › CakePHP 3.2

Класс 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']);

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

Параметры

string|array|null $field optional null
Поле, для которого нужно получить ошибки, или массив ошибок для установки.
string|array|null $errors optional null
Ошибки, которые нужно установить для поля $field
boolean $overwrite optional false
Заменять ли существующие ошибки для поля $field

Возвращает

array|Cake\Datasource\EntityTrait
$this

extract()source public

extract( array $properties , boolean $onlyDirty false )

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

Параметры

array $properties
список свойств, которые нужно вернуть
boolean $onlyDirty optional false
Возвращать ли запрошенное свойство только если оно изменено

Возвращает

array

extractOriginal()source public

extractOriginal( array $properties )

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

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

Параметры

array $properties
Список свойств, которые нужно вернуть

Возвращает

array

extractOriginalChanged()source public

extractOriginalChanged( array $properties )

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

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

Параметры

array $properties
Список свойств, которые нужно вернуть

Возвращает

array

get()source public

get( string $property )

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

Параметры

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

Возвращает

mixed

Выбрасывает

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

getOriginal()source public

getOriginal( string $property )

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

Параметры

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

Возвращает

mixed

Выбрасывает

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

getOriginalValues()source public

getOriginalValues( )

Получает все исходные значения объекта.

Возвращает

array

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.

Параметры

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

Возвращает

boolean

hiddenProperties()source public

hiddenProperties( null|array $properties null )

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

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

Параметры

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

Возвращает

array|Cake\Datasource\EntityTrait
$this

invalid()source public

invalid( string|array|null $field null , mixed|null $value null , boolean $overwrite false )

Отмечает поле как невалидное и непропатчиваемое в объект.

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

Параметры

string|array|null $field optional null
Поле, для которого нужно получить невалидное значение, или значение для установки.
mixed|null $value optional null
Невалидное значение, которое нужно установить для $field.
boolean $overwrite optional false
Заменять ли существующие значения для $field.

Возвращает


$this|mixed

isNew()source public

isNew( boolean|null $new null )

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

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

Параметры

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

Возвращает

boolean
Был ли объект сохранён.

jsonSerialize()source public

jsonSerialize( )

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

Возвращает

array

offsetExists()source public

offsetExists( mixed $offset )

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

Параметры

mixed $offset
Смещение для проверки.

Возвращает

boolean
Успех

offsetGet()source public

offsetGet( mixed $offset )

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

Параметры

mixed $offset
Смещение для извлечения.

Возвращает

mixed

offsetSet()source public

offsetSet( mixed $offset , mixed $value )

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

Параметры

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

offsetUnset()source public

offsetUnset( mixed $offset )

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

Параметры

mixed $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');

Параметры

string|array $property

Имя свойства для установки или список свойств со значениями.

mixed $value необязательно null

Значение для установки свойства или массив, если первый аргумент также является массивом, в этом случае он будет обрабатываться как $options.

array $options необязательно []

Параметры для установки свойства. Разрешенные ключи параметров — setter и guard

Возвращает


$this

Выбрасывает

InvalidArgumentException

source()source public

source( string|null $alias null )

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

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

Параметры

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

Возвращает

string|Cake\Datasource\EntityTrait
$this

toArray()source public

toArray( )

Возвращает массив со всеми установленными свойствами этой сущности.

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

Возвращает

array

unsetProperty()source public

unsetProperty( string|array $property )

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

Примеры:

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

Параметры

string|array $property
Свойство для удаления.

Возвращает


$this

virtualProperties()source public

virtualProperties( null|array $properties null )

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

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

Параметры

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

Возвращает

array|Cake\Datasource\EntityTrait
$this

visibleProperties()source public

visibleProperties( )

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

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

Возвращает

array

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


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

Spec-Zone.ru

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