2016-04-22 35 views
0

任何時候我想要使用一個實例變量,我需要使用僞變量$ this,我正確嗎?如果這些是有方法的對象,我仍然不得不使用它們。所以,當我有一個像這樣的例子:

class myClass{ 
    private $thingOne; 
    private $thingTwo; 

    public function __construct($thingOne,$thingTwo){ 
     $this->thingOne = $thingOne; 
     $this->thingTwo = $thingTwo; 
    } 
} 

然後我開始添加方法myClass,我要開始喜歡打字的東西:

$this->thingOne->doSomething($this->thingTwo->doSomethingElse()); 

但我寧願鍵入:

$thingOne->doSomething($thingTwo->doSomethingElse()); 

我只是覺得寫這個 - >所有的時間都很煩人。難道不能假設我正在使用我給出的實例變量嗎?我的代碼最終有這個這個這就是這個這個無處不在。

我可以將它重命名爲更短嗎? $ t或什麼?

+5

'$ this'是對當前對象的引用,不能被重命名。你可以創建自己的引用變量,但是你仍然需要在每種方法中都這樣做。所以你應該使用'$ this',不要那麼懶。 –

+0

如果您需要使用: $ this-> thingOne-> doSomething($ this-> thingTwo-> doSomethingElse());在你的對象內部,這可能是一個不好的設計或實現。 –

+0

$這也允許區分實例變量和本地函數的變量... – Zimmi

回答

1

$this是對當前類對象的引用,無法重命名。您可以創建自己的引用變量,但是您必須在每種方法中聲明它,從而使其效率低下。相反,你應該只是經常使用$this