我有一个语法错误,意外的'::'

时间:2014-06-26 09:52:53

标签: php

一件令人惊奇的事:

Class Myclass{

 protected $_value = 'content';

 public function action(){

  $this->_value::mymethod();
 }

}

=>我有一个错误:

  

语法错误,意外' ::'

如果我像这样修改,它可以工作:

$myvalue = $this->_value;
$myvalue::mymethod();

你知道为什么吗?

1 个答案:

答案 0 :(得分:3)

PHP无法自信地确定您要使用

完成的任务

$this->_value::mymethod();

可以读作

{$this->_value}::mymethod()(你期望它是什么)

$this->{_value::mymethod()}

因此,它不是猜测而是可能是错误的,而是产生错误。只需使用您已经发现的方式。