警告:使用未定义的常量LIST_ALL-假定为‘LIST_ALL’(这将在未来的PHP版本中引发错误)

时间:2019-01-28 作者:user206904

我对php 7语法有问题。我安装了这个名为simple table manager的插件https://wordpress.org/plugins/simple-table-manager/

激活后我收到了这些警告

警告:在C:\\xampp\\htdocs\\wp2\\wp content\\plugins\\simple table manager\\controller中使用未定义的常量list\\u all-假定为“list\\u all”(这将在PHP的未来版本中引发错误)。php在线52

警告:使用未定义的常量add\\u new-假定为“add\\u new”(这将在PHP的未来版本中引发错误)。。。。

警告:使用未定义的常量设置-假定为“设置”(这将引发错误。。。。。

警告:使用未定义的常量edit-假定为“edit”(这将引发错误。。。。。

代码如下所示

class Controller {
....

public function add_menu() {
        add_menu_page(\'Simple Table Manager - List\', \'Simple Table Manager\', \'manage_options\', $this->slug[\'list\'], array($this, list_all ));
        add_submenu_page(null, \'Simple Table Manager - Add New\', \'Add New\', \'manage_options\', $this->slug[\'add\'], array($this, add_new));
        add_submenu_page($this->slug[\'list\'], \'Simple Table Manager - Settings\', \'Settings\', \'manage_options\', $this->slug[\'settings\'], array($this, settings));
        add_submenu_page(null, \'Simple Table Manager - Edit\', \'Edit\', \'manage_options\', $this->slug[\'edit\'], array($this, edit));
    }
public function list_all() {....}
public function add_new() {...}
public function edit() {...}
public function settings() {...}

}
我有php 7,我假设插件开发人员使用的语法已经过时

因此,基本上,给出错误的4个变量实际上是类本身的其他函数(方法)。调用这些方法的正确方法是什么?我尝试了数组($this,$this->add\\u new),但没有成功

如果能帮上忙,我将不胜感激。

提前感谢

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

此代码中存在错误:

    add_menu_page(\'Simple Table Manager - List\', \'Simple Table Manager\', \'manage_options\', $this->slug[\'list\'], array($this, list_all ));
零件array($this, list_all ) 是函数回调,但应该有作为字符串传递的函数名作为数组中的第二项。所以应该是:

array($this, \'list_all\' )
另外,早期版本的PHP也应该有问题。。。