查看以下代码,我看到构造函数正在返回一个值。我认为构造函数只返回对象。有人可以告诉我我错过了什么吗?
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;
}
}
原文由 Nate 发布,翻译遵循 CC BY-SA 4.0 许可协议
确实你是对的。构造函数的返回值无能为力(除了使用它创建的对象)。
所以不,你没有遗漏任何东西,是编写该代码的开发人员是谁。
如果直接调用函数,从技术上讲可以使用构造函数的返回值
这将允许您使用构造函数的返回值。然而,这是非常不常见的,相当不推荐。