public function __construct($name) { if (!class_exists($name) && !interface_exists($name)) { throw new ClassException('php class "' . $name . '" does not exists'); } parent::__construct($name); $this->reflect = new ReflectionClass($name); if ($this->reflect->getName() !== $name) { throw new ClassException('php class "' . $name . '" does not exists'); } $this->init(); }