WordPress RANDOM_INT()和PHP内置函数RANDOM_INT()有什么不同?

时间:2018-08-28 作者:Juri Rudi

WordPress定义的函数有什么区别random_int() 和PHP内置函数random_int()?

此外,如果存在差异,PHP解释器如何理解我调用的两个函数中的哪一个?

1 个回复
最合适的回答,由SO网友:kero 整理而成

WordPress很旧。事实上,它早于PHP引入的PHP7random_int(). WP之前想要/需要此功能,因此实现了另一种方法。

PHP解释器如何理解我调用的两个函数中的哪一个?

问得好。翻译不明白这一点。因此,如果您有PHP7并将此函数定义为新函数,则会出现错误。这就是为什么。只有在以下情况下,才会加载具有函数定义的文件random_int() 默认情况下不可用。

wp-includes/random_compat/random.php lines 212-214

if (!function_exists(\'random_int\')) {
    require_once $RandomCompatDIR.\'/random_int.php\';
}
如果您的服务器是PHP7并且是PHP自己的random_int() 是可调用的,将使用此文件,并且从未包含该文件。

如果您的服务器不是PHP7或PHP自己的服务器random_int() 由于任何原因都不可调用,将包含该文件,并将给出另一个实现。

这项工作已经完成,因此WordPress可以在不同的系统上运行。PHP5和PHP7患者。

这有什么不同?我真的说不出话来。WP使用的文件似乎来自this random_compat repository, 它还链接到PHP文档(如果您没有PHP自己的实现,建议使用)。

我已经看到了一个快速的区别:PHP的random_int() 尝试使用getrandom(2) 在Linux机器上random_int() 仅用于/dev/urandom.

如果有疑问,我会使用系统的版本(PHP),而不是软件引入的版本(WP)。但这只是我的观点。

结束

相关推荐

对WooCommerce的Functions.php更改不起作用

我正在尝试将其添加到函数中。php。在我的另一个站点上的测试实验室中,它可以很好地添加测试信息。但在这个网站上,我试图把它添加到什么都没有发生的情况下。该网站正在使用最新的woocommerce运行一个建筑节俭主题。有什么想法吗?我基本上只是想在每个产品页面上添加一行类似于免责声明但无法添加的文本。add_action(\'woocommerce_before_add_to_cart_form\',\'print_something_below_short_description\');