public function __construct($namespace, $classname, array $properties, $extends = null, array $uses = array(), array $classAnnotations = array())
{
$namespace = trim($namespace, '\\');
foreach (explode('\\', $namespace) as $piece) {
if ($piece == '') {
continue;
}
if (!$this->checkPHPVarName($piece)) {
throw new \Exception(sprintf('Invalid namespace %s', $namespace));
}
}
if (!$this->checkPHPVarName($classname)) {
throw new \Exception(sprintf('Invalid namespace %s', $namespace));
}
$this->namespace = trim('PHPExiftool\\Driver\\' . $namespace, '\\');
$this->classname = $classname;
$this->properties = $properties;
$this->extends = $extends;
$this->uses = $uses;
$this->classAnnotations = $classAnnotations;
return $this;
}