<?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