<?php
class Reflection { }
interface 
Reflector { }
class 
ReflectionException extends Exception { }
class 
ReflectionFunction implements Reflector { }
class 
ReflectionParameter implements Reflector { }
class 
ReflectionMethod extends ReflectionFunction { }
class 
ReflectionClass implements Reflector { }
class 
ReflectionObject extends ReflectionClass { }
class 
ReflectionProperty implements Reflector { }
class 
ReflectionExtension implements Reflector { }
?>
Using this API you can poke things to see how they are put together. For example, using ReflectionClass you can look at a class:

<?php
  
class my_test_class {
    public  
$var1 'foo';
    private 
$var2 'bar';
    function 
__construct() {
       echo 
$this->var1;
    }
  }

  echo 
"<pre>";
  
Reflection::export(new ReflectionClass('my_test_class'));
  echo 
"</pre>";
?>
Output