Spec-Zone.ru › CakePHP 3.2

Trait EntityTrait

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

Прямые пользователи

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

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

  • $_accessible protected
    array

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

  • $_accessors protected static
    array
    Содержит кэшированный список методов get/set на класс.
  • $_className protected
    string
    Содержит имя класса для объекта экземпляра.
  • $_dirty protected
    array

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

  • $_errors protected
    array
    Список ошибок по полю, как хранится в этом объекте.
  • $_hidden protected
    array

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

  • $_invalid protected
    array
    Список недопустимых полей и их данных для ошибок при валидации/патчинге.
  • $_new protected
    boolean

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

  • $_original protected
    array
    Содержит все изменённые свойства и их исходные значения для этой сущности.
  • $_properties protected
    array
    Содержит все свойства и их значения для этой сущности.
  • $_registryAlias protected
    string
    Псевдоним хранилища, из которого пришла эта сущность.
  • $_virtual protected
    array

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

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

  • __debugInfo() public

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

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

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

  • __set() public
    Магический сеттер для добавления или изменения свойства в этой сущности
  • __toString() public
    Возвращает строковое представление этого объекта в удобочитаемом формате.
  • __unset() public
    Удаляет свойство из этой сущности
  • _accessor() protected static

    Получить имя метода доступа. Методы доступа (доступны или нет) кэшируются в $_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
END_OF_DOCUMENT_MARKER

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

Выбрасывает

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

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

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

Возвращает

массив

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


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

$_accessiblesource

protected массив

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

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

['*' => true]

$_accessorssource

protected static массив

Содержит кэшированный список методов-геттеров/сеттеров для каждого класса

[]

$_classNamesource

protected строка

Содержит имя класса для объекта экземпляра

Устарело

3.2 Это поле больше не используется
END_OF_DOCUMENT_MARKER

$_dirtysource

protected array

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

[]

$_errorssource

protected array

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

[]

$_hiddensource

protected array

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

[]

$_invalidsource

protected array

Список недопустимых полей и их данных для ошибок при валидации/патчинге.

[]

$_newsource

protected boolean

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

true

$_originalsource

protected array

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

[]

$_propertiessource

protected array

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

[]

$_registryAliassource

protected string

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

$_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

Spec-Zone.ru

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