我已经搜索过,但无法找到关于在PHP类内部使用$this的明确答案(如果有的话)。我仍在努力理解使用OOP方法,并希望确保我使用最佳实践。
因此,我的问题是关于何时以及何时应该定义变量以及何时应使用$ this引用它们。
假设我有以下类....
class Foo {
private $pin;
private $stat;
public function get_stat($pin) {
$this->stat = shell_exec("blah read $pin");
return $this->stat;
}
}
所以在上面的函数中,我将变量$pin传递给了类方法。这样做完全没有必要使用$this->pin...然而,下面的代码似乎更像是正确的做法......
class Foo {
private $pin = 0;
private $stat = 0;
public function get_stat($pin) {
$this->pin = $pin;
$this->stat = shell_exec("blah read $this->pin");
return $this->stat;
}
}
此外,我已将$pin和$stat变量设置为= 0。 我认为这只是一个默认值,或者我可以像第一个示例中那样定义它们为private $pin;和private $stat;。
那么回到我的问题,如何在类方法中使用成员和$this的最佳实践是什么? 每个示例的优点或缺点是什么?
shell_exec("blah read $pin");
容易受到代码注入攻击。在这种情况下,始终使用转义函数来进行shell命令:escapeshellarg()。 - Sven$this->
зӣёдјјпјҢдҫӢеҰӮ$Foo = new Foo()
然еҗҺи°ғз”Ё$Foo->get_stat("Variable Passed")
дёҺзұ»еҶ…йғЁдҪҝз”Ё$this->get_stat("Variable Passed")
зӣёдјјгҖӮ - jnthnjns$this
是该类的一个实例,而上面我的示例中的$Foo
则是来自类外部的同一类的一个实例。如果这样更容易理解的话。 - jnthnjns