不应静态调用非静态方法常量:: getActivationList()

时间:2017-09-08 19:15:05

标签: php methods non-static

我正在使用集成到Asterisk的a2billing应用程序。 尝试通过管理员Web界面添加DID时,我在页面上收到错误消息: "您的新内容尚未插入。"

在httpd / error_log中声明: PHP严格标准:不应在第52行的/var/www/html/a2billing/admin/Public/form_data/FG_var_did.inc中静态调用非静态方法常量:: getActivationList(),引用:http://XXXXXXXXXXX/a2billing/admin/Public/A2B_entity_did.php?form_action=ask-add&section=8

该文件第52行的代码" FG_var_did.inc": $ actived_list = Constants :: getActivationList();

我使用的PHP版本是: PHP 5.4.16(cli)(内置:2016年11月6日00:29:02) 版权所有(c)1997-2013 PHP小组 Zend Engine v2.4.0,版权所有(c)1998-2013 Zend Technologies

我已经禁用" ~E_STRICT"在php.ini。

任何人都有任何想法如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

我不知道您正在使用的应用程序,但如果该方法不是静态的,您应该首先初始化该对象并调用该方法:

$var = new ClassNmae();
$var->method();

而不是ClassNmae::method()

或者简而言之,您可以使用(new ClassName)->method();