Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 20155 программистов и 1078 роботов. Сейчас ищут 756 программистов ...
Приступая к работе

ReflectionProperty::__construct - Конструктор класса ReflectionProperty

Вернуться к: ReflectionProperty

ReflectionProperty::__construct

(PHP 5, PHP 7)

ReflectionProperty::__constructКонструктор класса ReflectionProperty

Описание

public ReflectionProperty::__construct ( mixed $class , string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

class

Имя класса, содержащего свойство.

name

Имя свойства, которое требуется отобразить.

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

Эта функция не возвращает значения после выполнения.

Ошибки

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

Примеры

Пример #1 Пример использования ReflectionProperty::__construct()

<?php
class String
{
    public 
$length  5;
}

// Создание нового объекта класса ReflectionProperty
$prop = new ReflectionProperty('String''length');

// Вывод основной информации об объекте
printf(
    
"===> %s%s%s%s свойство '%s' (которое %s)\n" .
    
"     имеющее модификаторы %s\n",
        
$prop->isPublic() ? ' общедоступное' '',
        
$prop->isPrivate() ? ' частное' '',
        
$prop->isProtected() ? ' защищенное' '',
        
$prop->isStatic() ? ' статическое' '',
        
$prop->getName(),
        
$prop->isDefault() ? 'объявлено во время компиляции' 'создано во время выполнения',
        
var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// создание строки
$obj= new String();

// получение текущего значения
printf("---> Значение: ");
var_dump($prop->getValue($obj));

// Изменение значения
$prop->setValue($obj10);
printf("---> Установка значения 10, новое значение: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

Результатом выполнения данного примера будет что-то подобное:

===> общедоступное свойство 'length' (которое объявлено во время компиляции)
     имеющее модификаторы array (
  0 => 'public',
)
---> Значение: int(5)
---> Установка значения 10, новое значение: int(10)
object(String)#2 (1) {
  ["length"]=>
  int(10)
}

Пример #2 Получение значений защищенных и частных свойств, используя класс ReflectionProperty

<?php

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

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware