编程语言
首页 > 编程语言> > 一台计算机上出现“意外的T_PAAMAYIM_NEKUDOTAYIM”,而使用PHP 5则不在另一台计算机上

一台计算机上出现“意外的T_PAAMAYIM_NEKUDOTAYIM”,而使用PHP 5则不在另一台计算机上

作者:互联网

我的本地计算机运行PHP 5.3.2,而我的服务器运行5.2.5.我懂了

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

$productsIterator = $productModule::load(Phlex_Db_Order::Asc('name'));

我认为发生错误是因为PHP 5.2.5不支持$stringClassName :: methodName()语法.

有人知道1)解决方法或2)发生这种情况的其他原因吗?

解决方法:

一种解决方法是

 call_user_func(array($productModule, "load"), Phlex_Db_Order::Asc('name'));

或者,根据5.2.3以后的手册:

 call_user_func($productModule."::load", Phlex_Db_Order::Asc('name'));

只有一件事到note:

the parameters for call_user_func() are not passed by reference.

出于完整性考虑,您是对的,在5.3.0中添加了对静态方法的“动态”调用.从PHP 5 change log

Added support for dynamic access of static members using $foo::myFunc(). (Etienne Kneuss)

标签:php,php-5-2
来源: https://codeday.me/bug/20191013/1911116.html