Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
ReflectionProperty::__construct
(PHP 5)
ReflectionProperty::__construct — Construct a ReflectionProperty object
Описание
ReflectionProperty::__construct ( mixed $class , string $name )Внимание
К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.
Список параметров
class
The class name, that contains the property.
nameThe name of the property being reflected.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Ошибки
Trying to get or set private or protected class property's values will result in an exception being thrown.
Примеры
Пример #1 ReflectionProperty::__construct() example
class String
{
public $length = 5;
}
// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('String', 'length');
// Print out basic information
printf(
"===> The%s%s%s%s property '%s' (which was %s)\n" .
" having the modifiers %s\n",
$prop->isPublic() ? ' public' : '',
$prop->isPrivate() ? ' private' : '',
$prop->isProtected() ? ' protected' : '',
$prop->isStatic() ? ' static' : '',
$prop->getName(),
$prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);
// Create an instance of String
$obj= new String();
// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));
// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));
// Dump object
var_dump($obj);
Результатом выполнения данного примера будет что-то подобное:
===> The public property 'length' (which was declared at compile-time) having the modifiers array ( 0 => 'public', ) ---> Value is: int(5) ---> Setting value to 10, new value is: int(10) object(String)#2 (1) { ["length"]=> int(10) }
Пример #2 Getting value from private and protected properties using ReflectionProperty class
class Foo {
public $x = 1;
protected $y = 2;
private $z = 3;
}
$obj = new Foo;
$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)
$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)
Результатом выполнения данного примера будет что-то подобное:
int(2) int(3)
Смотрите также
- ReflectionProperty::getName() - Gets property name
- Constructors
Описание класса reflectionproperty, примеры использования класса reflectionproperty.
Описание на ru2.php.netОписание на php.ru