/**
* Method to get an instance of a user for the given username.
*
* @param string $username The username
*
* @return User
*
* @since 4.0.0
*/
public function loadUserByUsername(string $username) : User
{
// Initialise some variables
$query = $this->db->getQuery(true)->select($this->db->quoteName('id'))->from($this->db->quoteName('#__users'))->where($this->db->quoteName('username') . ' = :username')->bind(':username', $username)->setLimit(1);
$this->db->setQuery($query);
return $this->loadUserById((int) $this->db->loadResult());
}