有没有办法避免$ this->无处不在?

fer*_*olo 7 php oop class

我在PHP中有一个包含许多方法和变量的类.每次我需要一个方法来调用同一个类中的另一个时,我必须添加$this->.这个(!)会产生一些非常易读的来源,例如:

$nextX = $this->calculateNextX($this->DX, $this->DY, $this->DZ);
$nextY = $this->calculateNextY($this->DX, $this->DY, $this->DZ);
$nextZ = $this->calculateNextZ($this->DX, $this->DY, $this->DZ);
$this->X = $nextX;
$this->Y = $nextY;
$this->Z = $nextZ;
Run Code Online (Sandbox Code Playgroud)

有办法避免$this->到处都是吗?

小智 6

不,用PHP内置的OOP概念来避免这种结构是不可能的.

PHP,如JavaScript,Python和Perl - 但与Java不同,并不总是像Ruby一样 - 总是需要一个明确的接收者 - 或者,$this对于"当前实例" - 来访问成员.语法只是PHP碰巧用来表示这种结构的形式,并且很可能受到"成为语言的后来者"并且不得不适应它的影响.它也让人联想到Perl/C语法.

虽然可以改变位置或者可以减少站点的数量,但是在一天结束时,这是访问成员的方法.

快乐的编码.