Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从trait访问受保护的变量_Php - Fatal编程技术网

Php 从trait访问受保护的变量

Php 从trait访问受保护的变量,php,Php,如何从trait访问受保护的变量 class Test { use Test_trait; protected $var = 'wee'; } trait Test_trait { public function get_var(){ echo $this->var; } } $T = new Test(); $T->get_var(); 你发布的代码应该可以正常工作。trait不仅仅是将自身的全部内容复制到类中,因此您甚至可以

如何从trait访问受保护的变量

class Test {
    use Test_trait;

    protected $var = 'wee';
}

trait Test_trait {
    public function get_var(){
        echo $this->var;
    }
}

$T = new Test();
$T->get_var();

你发布的代码应该可以正常工作。trait不仅仅是将自身的全部内容复制到类中,因此您甚至可以访问trait中的私有变量

类的转换代码(插入trait之后…)如下所示

class Test {

    public function get_var(){
        echo $this->var;
    }

    protected $var = 'wee';
}

与代码无关。

只是想知道traits是否可以像示例一样使用父变量。有没有可能?