php - >级联中使用的运算符

时间:2014-07-27 13:11:38

标签: php

我看到了这段代码:

 public function query( $query )
    {
        $full_query = $this->link->query( $query );
        if( $this->link->error )
        {
            $this->log_db_errors( $this->link->error, $query );
            return false; 
        }
        else
        {
            return true;
        }
    }

包含在类定义中。 请解释这种代码的含义:a->b->c。我知道在访问实例化类的方法或属性时使用了a->b。但无法理解如何解释(“阅读,理解,翻译”)a->b->c

2 个答案:

答案 0 :(得分:6)

这意味着对象a的属性b也是一个对象。所以你得到了对象a的属性b的属性c。

class a {
    public $b;

    function __construct() {
        $this->b = new b;
    }
}

class b {
    public $c;

    function __construct() {
        $this->c = 'Hello';
    }
}

$a = new a;

echo $a->b->c; // outputs Hello.

答案 1 :(得分:0)

对象a有一个属性b,它本身就是一个具有c作为方法或属性的对象。在发布的代码方面,$ this,您正在查看其源的对象具有属性-link - 这是一个对象。由于链接也是一个对象,它可以(并且确实)具有属性,其中两个属性是查询和错误。