Where's the difference between self and $this-> in a PHP class or PHP method?

后端 未结 7 1280
不思量自难忘°
不思量自难忘° 2020-12-17 09:38

Where\'s the difference between self and $this-> in a PHP class or PHP method?

Example:

I\'ve seen this code recently.

7条回答
  •  Happy的楠姐
    2020-12-17 10:01

    $this refers to the instance of the class, that is correct. However, there is also something called static state, which is the same for all instances of that class. self:: is the accessor for those attributes and functions.

    Also, you cannot normally access an instance member from a static method. Meaning, you cannot do

    static function something($x) {
      $this->that = $x;
    }
    

    because the static method would not know which instance you are referring to.

提交回复
热议问题