Php “的目的是什么?”$这是什么;?

Php “的目的是什么?”$这是什么;?,php,oop,this,Php,Oop,This,可能重复: $this有什么用? 我在以下两种情况下都得到了正确的结果 没有$this class Car { function Beetle($colour) { return $colour; } } $car = new Car(); echo $car->Beetle("Blue"); class Car { function Beetle($colour) { $this->colour = $colour; return $co

可能重复:

$this
有什么用?
我在以下两种情况下都得到了正确的结果

  • 没有
    $this

    class Car {
      function Beetle($colour) {
        return $colour;
      }
    }
    
    $car = new Car();
    
    echo $car->Beetle("Blue");
    
    class Car {
      function Beetle($colour) {
        $this->colour = $colour;
        return $colour;
      }
    }
    
    $car=new Car();
    
    echo $car->Beetle("Blue");
    
  • 使用
    $this

    class Car {
      function Beetle($colour) {
        return $colour;
      }
    }
    
    $car = new Car();
    
    echo $car->Beetle("Blue");
    
    class Car {
      function Beetle($colour) {
        $this->colour = $colour;
        return $colour;
      }
    }
    
    $car=new Car();
    
    echo $car->Beetle("Blue");
    
  • 在这两种情况下,我得到了相同的结果:“蓝色。”

    我不明白为什么我们要使用
    $this

    $此
    引用使用
    运算符创建的实例化对象

    第一个代码示例只返回传递给它的参数(
    $color


    第二个示例将属性分配给其对象(使用
    $this
    ),然后再次返回参数。

    ,因为同一类可能有多个实例(对象)

    class Car {
       var colour;
       var parkedNextTo;
       function setColout($colour)
       {
          $this->colour=$colour;
       }
       function park($nextTo)
       {
          $this->$nextTo=$nextTo;
       }
    }
    
    $beetle=new Car();
    $beetle->setColour('blue');
    
    $jeep=new Car();
    $jeep->setColour('red');
    $jeep->nextTo($beetle);
    

    据我所知,$此用于访问所属类中的变量和方法,它本质上是该类的对象。在这两个示例中,您都返回了输入参数

    没有$这个

    class Car{
    
      private $colour;
    
      function Beetle($colour) {
        return $this->colour;
      }
    }
    
    class Car{
    
      private $colour;
    
      function Beetle($colour) {
        $this->colour = $colour;
        return $this->$colour;
      }
    }
    
    使用$this

    class Car{
    
      private $colour;
    
      function Beetle($colour) {
        return $this->colour;
      }
    }
    
    class Car{
    
      private $colour;
    
      function Beetle($colour) {
        $this->colour = $colour;
        return $this->$colour;
      }
    }
    
    这里我要告诉大家的是,在第一个示例中,它将返回null,因为函数没有设置属性颜色,而在第二个示例中,它将属性设置为输入变量,并返回传入的值


    简而言之,$这是我们访问属于该类的属性和方法的方式。

    你能用简单的英语回答这个问题吗?请告诉你,我是个新手。我非常了解程序化php,甚至创建了一个Buysellads的小克隆,但这个问题让我心烦意乱。请帮助alex。请做好准备best@ask哪一部分让你困惑?谢谢大家。我明白了!:)