private function checkId($id) { if ($id == null) { return; } $str = \blaze\lang\String::asNative($id); if (strlen($str) == 0) { throw new \blaze\lang\IllegalArgumentException('Component id must have a length of at least one character'); } $firstChar = $str[0]; if ($firstChar != '_' && !\blaze\lang\Character::isLetter($firstChar)) { throw new \blaze\lang\IllegalArgumentException('Component id\'s first character must be a letter or underscore (_) and not ' . $firstChar); } if (!preg_match('/^..[a-zA-Z0-9\\-\\_]*$/', $str)) { throw new \blaze\lang\IllegalArgumentException('Component id\'s may only contain digits, letters, underscores(_) and dashes(-)'); } }