PHP: Reflection API - ReflectionObject

PHP: Reflection API - ReflectionObject

Класс ReflectionObject является прямым наследником метода ReflectionClass и как следствие в классе ReflectionObject доступны все методы класса ReflectionClass.

Насколько я понял ReflectionObject - не перегружает никаких методов, доставшихся ему по наследству, поэтому не вижу мысла их здесь описывать, потому, что по большому счёту его можно использовать так же, как и ReflectionClass, помня лишь о том, что ReflectionObject работает не с классами, а с конкретными объектами. Опишу лишь метод export, навязанный интерфейсом, а то совсем уж страничка пустая получается :)

ReflectionObject extends ReflectionClass implements Reflector

/* Константы */

  • const integer IS_IMPLICIT_ABSTRACT = 16;
  • const integer IS_EXPLICIT_ABSTRACT = 32;
  • const integer IS_FINAL = 64 ;
public static string ReflectionObject::export ( mixed $argument [, bool $return = false ] )

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

	class Foo 
	{
		protected $prop1 = 333;   
		private $prop2 = 555;   
		public static $prop3 = 777;   
		public static  $prop4 = 999; 
	}
  
	$concreteObj = new Foo();
	ReflectionObject::export($concreteObj);
  

Выведет следующее:

     Object of class [  class Foo ] {
      @@ Z:\home\testJQ.loc\www\reflection\test.php 5-11
    
      - Constants [0] {
      }
    
      - Static properties [2] {
        Property [ public static $prop3 ]
        Property [ public static $prop4 ]
      }
    
      - Static methods [0] {
      }
    
      - Properties [2] {
        Property [  protected $prop1 ]
        Property [  private $prop2 ]
      }
    
      - Dynamic properties [0] {
      }
    
      - Methods [0] {
      }
    }
  

Добавить комментарий


Защитный код
Обновить



Кто на сайте
Сейчас 54 гостей онлайн