return $this 你只需要知道它就是返回 本对象
给你写一个简单的实例吧
/**
* sum 类用于计算两个数的和.
*/
class sum{
private $num1;
private $num2;
public function num1($n){
$this->num1=$n;
return $this;
}
public function num2($n){
$this->num2=$n;
return $this;
}
public function sum(){
return $this->num1+$this->num2;
}
}
$sum=new sum();
$sum->num1(10)->num2(5)->sum();
$sum->num1(10) 它将数值1 赋给了成员属性 返回本对象 即 $sum
后面的操作就等于是 $sum->num2(5) 再返回 $sum
这两就给两个成员属性赋好值了,只需要再调用一下 sum 方法就可以得到两个数的值
当你用到面向对象的多对多,一对多,多对一这种多级关联时,return $this就有意义,现在很多框架都采用了rails 的一些理念,特别的对数据库的操作时,多级集联优势就来了,而且利于理解,维护,最大的问题主要还是性能上可能会差点,但不是很大的项目,没问题的