相关疑难解决方法(0)

在PHP中使用$ this和self ::有什么意义?

为什么PHP要求你明确写$this?我会理解你是否必须在$this这里使用:

function foo($bar) {
   $this->bar = $bar;
}
Run Code Online (Sandbox Code Playgroud)

但是你必须在看起来像这样的详细代码中明确地编写它:

$this->var3 = globalFun($this->var, $this->var2[$this->anotherVar], $this->method());
Run Code Online (Sandbox Code Playgroud)

而不是:

$var3 = globaFun($var, $var2[$anotherVar], method());
Run Code Online (Sandbox Code Playgroud)

那有什么意义$this呢?

额外奖金问题:

为什么我们必须区分静态引用和实例?我们为什么需要:

static function getValue() {
   return self::value;
}
Run Code Online (Sandbox Code Playgroud)

如果有问题的变量/方法是静态的,PHP不能在运行时找到?现在,如果我想将方法​​从静态更改为非静态,我必须将所有这些替换self::$this->(反之亦然).

如果我们的$this行为与Java一样,那会不会更好?

php language-design

19
推荐指数
3
解决办法
1761
查看次数

标签 统计

language-design ×1

php ×1