Spec-Zone.ru › Symfony 3.0

PropertyAccessorInterface

интерфейс PropertyAccessorInterface

Запись и чтение значений в/из графа объектов/массивов.

Методы

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

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

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

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

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

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

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

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

Подробности

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 Если значение в пути не является объектом или массивом

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 Если значение в пути не является объектом или массивом

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

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

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

Параметры

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

Возвращаемое значение

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

Исключения

InvalidArgumentException Если путь свойства недействителен

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

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

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

Параметры

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

Возвращаемое значение

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

Исключения

InvalidArgumentException Если путь свойства недействителен

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

Spec-Zone.ru

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