以为
1,::一般是用在静态方法、静态变量的调用,此时类不需要实例化。
2,而用->时,必须要将类进行实例化(或者在类的内部调用也可以)。
所以你第二种就会错误
你可以参考这篇文章学习一下php的=>和->以及::的用法
<?php
class o {
public $c = 1;
public function a() {
$this->c = $this->c+1;
return $this;
}
public function b() {
return $this->c;
}
}
class p {
static public $c = 1;
static public function a() {
self::$c = self::$c+1;
return new self;
}
public function b() {
return self::$c;
}
}
$o = new o();
echo $o->a()->b();
echo '</br>';
echo p::a()->b();