Expanded class hierarchy of Foo
class Foo implements Iterator {
  const BAR_NAME = 'bar';
  public $position = 0;
  public $array = array(
    1,
    2,
  );
  public function bar($param1 = null, $param2 = null) {
    return 'bar' . ($param1 ? '_' . $param1 : '') . ($param2 ? '-' . $param2 : '');
  }
  public function getFoo() {
    return 'foo';
  }
  public function getSelf() {
    return $this;
  }
  public function is() {
    return 'is';
  }
  public function in() {
    return 'in';
  }
  public function not() {
    return 'not';
  }
  public function strToLower($value) {
    return strtolower($value);
  }
  public function rewind() {
    $this->position = 0;
  }
  public function current() {
    return $this->array[$this->position];
  }
  public function key() {
    return 'a';
  }
  public function next() {
    ++$this->position;
  }
  public function valid() {
    return isset($this->array[$this->position]);
  }
}| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| Foo:: | public | property | ||
| Foo:: | public | property | ||
| Foo:: | public | function | ||
| Foo:: | constant | |||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function | ||
| Foo:: | public | function |