问题是:在声明“private $json”之后,我应该在构造函数 $json 还是 $this->json 中使用?
class Controller{
private $json;
private $data;
function __construct(){
$json=json_decode(base64_decode($_POST['json']));
}
}
问题是:在声明“private $json”之后,我应该在构造函数 $json 还是 $this->json 中使用?
class Controller{
private $json;
private $data;
function __construct(){
$json=json_decode(base64_decode($_POST['json']));
}
}
您必须在此处使用$this->
,否则您不会将其分配给实例,而只是在构造函数中创建一个局部变量,该变量将在构造函数运行后消失。php中没有可选项$this
,您必须始终指定它。
您可以使用任何一种方式,但是在将其分配给 之后$this->json
,我建议您继续使用该值。
这个想法是,如果您的构造函数有其他操作或方法调用,则这些方法可能会被编写为依赖于$this->json
.
我的习惯是尽早设置实例变量并在设置后专门使用它们。
除非 $json 是一个不应该影响 $this->json 的局部变量,否则我建议您从分配时开始使用 $this->json。澄清:
class Controller{
private $json;
private $data;
function __construct(){
$this->json = json_decode(base64_decode($_POST['json']));
echo $this->json;
}
}
比类似的东西更有意义:
class Controller{
private $json;
private $data;
function __construct(){
$json = json_decode(base64_decode($_POST['json']));
$this->json = $json;
echo $json;
}
}