Zwraca wartość konstruktora?

Patrząc na poniższy kod, widzę, że konstruktor zwraca wartość. Myślałem, że konstruktorzy zwracają tylko obiekty. Czy ktoś może mi powiedzieć, czego mi brakuje?

public function __construct($username = null, $password = null){
        $urlLogin = "{$this->apiHost}/login/$username";

        $postData = sprintf("api_type=json&user=%s&passwd=%s",
                            $username,
                            $password);
        $response = $this->runCurl($urlLogin, $postData);

        if (count($response->json->errors) > 0){
            return "login error";    
        } else {
            $this->modHash = $response->json->data->modhash;   
            $this->session = $response->json->data->cookie;
            return $this->modHash;
        }
    }

questionAnswers(5)

yourAnswerToTheQuestion