What do you think about static reflection cache? E.g.:

```php
public function formName()
{
	static $cache = array();
	$name = get_class($this);
	if (!isset($cache[$name])) {
		$cache[$name] = new \ReflectionClass($name);
	}
	return $cache[$name]->getShortName();
}
```

Benchmark:

```php
<?php

class Cl {}
$cl = new Cl();

$time = microtime(true);
$reflectors = array();
for($i = 0; $i < 10000; $i++) {
	$className = get_class($cl);
	if (!isset($reflectors[$className])) {
		$reflectors[$className] = new \ReflectionClass($className);
	}
	$name = $reflectors[$className]->getNamespaceName();
}
echo (microtime(true) - $time) . "\n";

$time = microtime(true);
for($i = 0; $i < 10000; $i++) {
	$reflector = new \ReflectionClass($cl);
	$name = $reflector->getNamespaceName();
}
echo (microtime(true) - $time) . "\n";

$time = microtime(true);
for($i = 0; $i < 10000; $i++) {
	$class = get_class($cl);
	$pos = strrpos($class, '\\');
	$name = $pos === false ? $class : substr($class, $pos + 1);
}
echo (microtime(true) - $time) . "\n";
```

Results:

```php
$ php test.php
0.075005054473877
0.085005044937134
0.071004152297974
```