核心函数使用多次与常量之间的差异获取用户ID

时间:2017-09-18 09:56:48

标签: wordpress function constants

我需要多个位置当前登录的用户ID。当我需要用户ID时,使用get_current_user_id()函数。我认为这会产生性能问题。所以我认为将用户ID分配给常量并在任何需要的地方使用。

这是对的吗?这个常量比函数调用更快。?

1 个答案:

答案 0 :(得分:1)

它可能非常非常快,但可能没有那么快,甚至可以测量。

如果您在单个功能的过程中多次使用当前用户ID,那么在本地存储当前用户ID可能是一种很好的做法,但如果您正在谈论将其存储在一起使用多功能,我不会走这条路。您的一些示例代码将有助于您确切地了解您的建议。

你不会获得太多收益,因为get_current_user_id()最终会调用_wp_get_current_user(),正如您从源代码中看到的那样,第一次将用户对象缓存在全局中#&# 39; s,所以你只需要保存几行代码和几个函数调用。

实际上,它已经在做你正在建议的事情:将结果保存在内存中的对象中,这样它就不需要每次都从数据库中取出/获取详细信息。通过确保您已启用opcache,或在其前面粘贴Varnish,或在Apache中安装mod_pagespeed,或使用CDN,或者几乎可以肯定,您的网站整体性能得到了极大的提升。不管。

"过早的优化是所有邪恶的根源"。你真的任何性能问题吗?如果没有,请不要担心这种微观优化,直到你这样做。

(阅读你的代码的任何人都必须弄清楚你为这次微优化做了多么奇怪的事情,而如果他们看到get_current_user_id()电话他们就会知道什么&# 39;如果他们对WordPress最不熟悉,那就继续。)