如果我想知道PHP performance on Wordpress,
如果我有很多副本add_action
.
add_action( \'init\', \'func_a\' );
add_action( \'init\', \'func_b\' );
add_action( \'init\', \'func_c\' );
//... so on
vs公司
add_action( \'init\', \'func_init\' );
function func_init() {
function_a();
function_b();
function_c();
//... so on
}
第一个问题应该是
performance 如果我有许多相同的动作?
有没有最好的方法(可读性好)呢?
最合适的回答,由SO网友:CodeMascot 整理而成
简而言之,第一项比第二项消耗更多内存。原因之一是WordPress挂钩使用call_user_func_array()
动态调用所有这些函数。和call_user_func_array()
实际上,将数组作为其参数之一,并搜索具有此名称的函数。所以在运行时,它会导致内存和时间。您可以使用例如检查菜单和时差。memory_get_usage()
和timer_stop()
. 有很多好的插件可以帮助实现这一点。
但已经有许多其他核心WordPress功能和其他插件将自身及其功能与该挂钩。因此,您的三个函数将只是该数组中的三个新元素,我认为这不会是性能问题。如果您想减少这三个函数所消耗的时间和内存,请记住,基于代码可维护性,它太小了,不能忽略。你的第一种方式既可读又容易理解。因此,我认为您可以忽略性能问题,除非它真的发展成为不应忽视的问题(这是不会发生的:)。