PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误,可能是因为美元符号$的误用,看下面一种情况
class Test{
static function test_c(){
echo "test";
}
}
$class="Test";
$method="test_c";
$class::$method();
上面类似的代码,当php版本低于5.3时就会报错,低版本php不支持变量做类的静态函数名。php5.3之后是支持的。
php5.3之前可以这样写:
class Test{
static function test_c(){
echo "test";
}
}
$class="Test";
$method="test_c";
eval("$class::$method();");
用eval函数,动态执行php代码可以避免unexpected T_PAAMAYIM_NEKUDOTAYIM错误。