我在测试我在服务器上开发的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中允许使用保留关键字作为类函数名称的原因是什么?
提前谢谢你:)
答案 0 :(得分:3)
您无法使用empty()
作为功能名称,因为它是 保留 关键字。以下是您不能用来定义为函数名称的关键字列表:http://php.net/manual/en/reserved.keywords.php
来自文档:
您不能使用以下任何单词作为常量,类名, 功能或方法名称。
答案 1 :(得分:1)
答案 2 :(得分:0)
我不确定,但也许你必须将你的功能名称从空更改为其他内容。它可以是内置功能。</ p>
答案 3 :(得分:0)
您的问题是功能名称本身。
在PHP中,已经有一个名为empty()
的通用函数。因此,覆盖会导致问题。