Php Wordpress测试-使用数组的有效方法

Php Wordpress测试-使用数组的有效方法,php,arrays,wordpress,Php,Arrays,Wordpress,下面的问题出现了,我们在wordpress core中进行了一次测试 在wordpress中使用wpdb类对象输出的有效方法是什么 例如, 正在获取wp users表名 $wpdb->tables('all')['users'] (或) 通过以上两种方法,我们都可以获得用户表名,为什么开发人员更喜欢$wpdb->users而不是$wpdb->tables('all')['users'] 效率方面有什么具体原因吗?我们如何测试它?我不确定这段特定代码是如何工作的,但我可以假设它在wpdb对

下面的问题出现了,我们在wordpress core中进行了一次测试

在wordpress中使用wpdb类对象输出的有效方法是什么

例如, 正在获取wp users表名

$wpdb->tables('all')['users']
(或)

通过以上两种方法,我们都可以获得用户表名,为什么开发人员更喜欢
$wpdb->users
而不是
$wpdb->tables('all')['users']


效率方面有什么具体原因吗?我们如何测试它?

我不确定这段特定代码是如何工作的,但我可以假设它在wpdb对象类中使用了一种神奇的方法

根据这个基准,使用魔术方法比使用标准方法慢。因此,在某些情况下,正如您所描述的,使用神奇的方法在代码可读性/维护方面可能会更好


我在数据结构和对象结构缓存方面不是专家,但在操作缓存方面,直接使用对象属性而不是神奇的方法可能会有一些优势,但我确实不确定这一点(有点像使用传统方法而不是闭包).

您提到了魔术方法的速度较慢,但开发人员更喜欢使用魔术方法。。这有什么特别的可靠性吗?一些开发人员更喜欢使用魔术方法,因为它使代码更加合成。其他一些人不喜欢它,因为它破坏了您的IDE自动完成功能。。。在您的特定示例中,它还允许开发人员只拥有一次代码,因此如果有一天您要将对$wpdb->users的访问权限更改为$wpdb->tables以外的任何内容。。。(例如,替换为webservice:$wpdb->service('users')…),您的uu get方法中只有一行需要更改。我个人会使用一个真正的getter和一个真正的属性,并在class属性上进行服务注入。。。
$wpdb->users