直接退货和退货之间的区别$ this

时间:2018-02-08 13:55:34

标签: php

我对一行脚本

有些困惑

之间有什么区别

这样:

function pattern2(){
  return $this->two='2';
}

和此:

function pattern2(){
  $this->two='2';
  return $this;
}

退货声明把我赶出去了。谢谢!!!

2 个答案:

答案 0 :(得分:3)

return $this->two = '2'返回赋值操作的结果;赋值操作的结果是赋值,即'2'

return $this返回$this

答案 1 :(得分:0)

$this指的是有问题的实际课程。

所以当你返回$ this时,你可以链接调用:

<?php

class X
{
   private $var;

   public function setVar($value)
   {
       $this->var = $value;
       return $this;
   }

   public function somethingElse()
   {
        return 'xyz';
   }
}

$x = new X();
echo $x->setVar(5)->somethingElse(); // echoes 'xyz'