Spec-Zone.ru › Symfony 3.2

PropertyAccessor

class PropertyAccessor implements PropertyAccessorInterface

Базовая реализация {@link PropertyAccessorInterface}.

Постоянные значения

VALUE
REF
IS_REF_CHAINED
ACCESS_HAS_PROPERTY
ACCESS_TYPE
ACCESS_NAME
ACCESS_REF
ACCESS_ADDER
ACCESS_REMOVER
ACCESS_TYPE_METHOD
ACCESS_TYPE_PROPERTY
ACCESS_TYPE_MAGIC
ACCESS_TYPE_ADDER_AND_REMOVER
ACCESS_TYPE_NOT_FOUND
CACHE_PREFIX_READ
CACHE_PREFIX_WRITE
CACHE_PREFIX_PROPERTY_PATH

Методы

__construct(bool $magicCall = false, bool $throwExceptionOnInvalidIndex = false, CacheItemPoolInterface $cacheItemPool = null)

Не должно использоваться в прикладном коде. Используйте {@link PropertyAccess::createPropertyAccessor()} вместо этого.

mixed getValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

Возвращает значение в конце пути к свойству в объектной графе.

setValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath, mixed $value)

Устанавливает значение в конце пути к свойству в объектной графе.

static handleError($type, $message, $file, $line, $context)
bool isReadable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

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

bool isWritable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

Возвращает, можно ли записать значение по заданному пути к свойству.

static AdapterInterface createCache(string $namespace, int $defaultLifetime, string $version, LoggerInterface $logger = null)

Создаёт адаптер APCu, если применимо.

Подробности

__construct(bool $magicCall = false, bool $throwExceptionOnInvalidIndex = false, CacheItemPoolInterface $cacheItemPool = null)

Не должно использоваться кодом приложения. Используйте {@link PropertyAccess::createPropertyAccessor()} вместо этого.

Параметры

bool $magicCall
bool $throwExceptionOnInvalidIndex
CacheItemPoolInterface $cacheItemPool

mixed getValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

Возвращает значение в конце пути свойств графа объекта.

Пример:

use Symfony\Component\PropertyAccess\PropertyAccess;

$propertyAccessor = PropertyAccess::createPropertyAccessor();

echo $propertyAccessor->getValue($object, 'child.name);
// equals echo $object->getChild()->getName();

Этот метод сначала пытается найти публичный геттер для каждого свойства в пути. Имя геттера должно быть именованным свойством с заглавной буквы, префиксным "get", "is" или "has".

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

Если ни одно из них не найдено, выбрасывается исключение.

Параметры

object|array $objectOrArray Объект или массив для обхода
string|PropertyPathInterface $propertyPath Путь к свойству для чтения

Значение возврата

mixed Значение в конце пути свойства

Исключения

InvalidArgumentException Если путь к свойству некорректен
AccessException Если свойство/индекс не существует или не является публичным
UnexpectedTypeException Если значение внутри пути не является объектом или массивом

setValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath, mixed $value)

Устанавливает значение в конце пути свойства графа объекта.

Пример:

use Symfony\Component\PropertyAccess\PropertyAccess;

$propertyAccessor = PropertyAccess::createPropertyAccessor();

echo $propertyAccessor->setValue($object, 'child.name', 'Fabien');
// equals echo $object->getChild()->setName('Fabien');

Этот метод сначала пытается найти публичный сеттер для каждого свойства в пути. Имя сеттера должно быть именованным свойством с заглавной буквы, префиксным "set".

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

Если ни одно из них не найдено, выбрасывается исключение.

Параметры

object|array $objectOrArray Объект или массив для изменения
string|PropertyPathInterface $propertyPath Путь к свойству для изменения
mixed $value Значение для установки в конце пути свойства

Исключения

InvalidArgumentException Если путь к свойству некорректен
AccessException Если свойство/индекс не существует или не является публичным
UnexpectedTypeException Если значение внутри пути не является объектом или массивом

static handleError($type, $message, $file, $line, $context)

Параметры

$type
$message
$file
$line
$context

bool isReadable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

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

Всякий раз, когда этот метод возвращает true, {@link getValue()} гарантированно не выбросит исключение при вызове с теми же аргументами.

Параметры

object|array $objectOrArray Объект или массив для проверки
string|PropertyPathInterface $propertyPath Путь к свойству для проверки

Значение возврата

bool Можно ли считать путь к свойству

Исключения

InvalidArgumentException Если путь к свойству некорректен

bool isWritable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)

Возвращает, можно ли записать значение по заданному пути к свойству.

Всякий раз, когда этот метод возвращает true, {@link setValue()} гарантированно не выбросит исключение при вызове с теми же аргументами.

Параметры

object|array $objectOrArray Объект или массив для проверки
string|PropertyPathInterface $propertyPath Путь к свойству для проверки

Значение возврата

bool Можно ли установить значение

Исключения

InvalidArgumentException Если путь к свойству некорректен

static AdapterInterface createCache(string $namespace, int $defaultLifetime, string $version, LoggerInterface $logger = null)

Создает адаптер APCu, если применимо.

Параметры

string $namespace
int $defaultLifetime
string $version
LoggerInterface $logger

Значение возврата

AdapterInterface

Исключения

RuntimeException Когда компонент кэша недоступен

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/PropertyAccess/PropertyAccessor.html

Spec-Zone.ru

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