php中$a->$b->$c;这种写法是什么意思啊?可以说的详细点吗?

2024-11-24 20:50:04
推荐回答(2个)
回答1:

$a->b->c意思是说:
1、$a对象是由($a = new App())App对象创建的。
2、但是App类中还有一个字段(public $b;),该字段b也是一个对象。
3、App类中的字段b是Action类型的,由($a = new Action())App对象创建的。
4、但是Action类中还有一个字段(public $c;),该字段c也是一个对象。

就这样循环下去了……
class App
{
public $b;
function __construct(){
$this->b = new Action();
}
}
class Action
{
public $c;
function __construct(){
$this->c = "同学你好";
}
}

$a = new App();
echo $a->b->c; //同学你好

但是不要和下面这样的形式混淆啦:
$o = new View();
$o->Init()->LoadTemplate()->Assign("A", "你好")->Display("index.tpl");

这种的实现,非常简单,只需要在View类中的LoadTemplate,Assign,Display这些函数末尾加上return $this; 就可以级联了。。。。

回答2:

a中的变量b,b中的变量c