PHP:函数调用为空

时间:2017-09-05 07:48:11

标签: php wordpress syntax version

我在测试我在服务器上开发的WordPress插件时收到一个奇怪的错误。

我使用PHP5.3.29(PHPBrew)和PHP7在本地进行了测试。我收到以下错误

Parse error: syntax error, unexpected 'empty' (T_EMPTY), expecting identifier (T_STRING) in /home/arevicoc/sub_domains/fitmetfriso.nl/wp-content/plugins/wp-clickbank-vendor/core/Helper/Util.php on line 65

函数本身很简单(我得到函数定义的错误

/**
 * Check if it is empty for a multi-dimensional array
 *
 * @param object $object
 * @param string $name
 * @return void
 */
public static function empty($object, $name){ // Line 65
    return empty(self::val($object,$name, null));
}

服务器的CPanel我一直在测试列表ea-php55。

为什么会出现此错误?我知道empty是PHP中的一个函数,但如果在命名空间内,应该没有冲突吗?特别是因为它在开发中起作用。

在php 7中允许使用保留关键字作为类函数名称的原因是什么?

提前谢谢你:)

4 个答案:

答案 0 :(得分:3)

您无法使用empty()作为功能名称,因为它是 保留 关键字。以下是您不能用来定义为函数名称的关键字列表:http://php.net/manual/en/reserved.keywords.php

来自文档:

  

您不能使用以下任何单词作为常量,类名,   功能或方法名称。

答案 1 :(得分:1)

empty 是一个保留关键字,不能用于函数名称: More Information

医生说:

  

您不能将以下任何字词用作常量,类名,函数或方法名称。

答案 2 :(得分:0)

我不确定,但也许你必须将你的功能名称从空更改为其他内容。它可以是内置功能。<​​/ p>

答案 3 :(得分:0)

您的问题是功能名称本身。 在PHP中,已经有一个名为empty()的通用函数。因此,覆盖会导致问题。

根据手册, http://php.net/manual/en/function.empty.php