/** * Constructor * * @param string $type The class every element must respect * @param array $values */ public function __construct($type, array $values) { $type = (string) $type; $this->validate($type, $values); $this->type = $type; parent::__construct($values); }