定制总是一块绊脚石(痛苦的过程)。从一方面来说,我们有来自用户的真实请求(问题),这总是很重要的。另一方面,所有这些额外的选项都会让你可爱的主题、插件或一些抽象产品陷入地狱。那么,作为一名开发人员,我们能做些什么呢?
首先Write extensible code 有机会更改部分代码—可重用代码。类、接口、特性以及将长时间错误的代码拆分为小方法(函数)。一些用户可以轻松地使用它们,而无需对您的产品进行更改。例如,有人可以根据自己的需要创建一个小部件,并使用内部插件功能please_echo_the_plugin_awesome_stuff()
.
添加new filters and actions is not bad idea. 许多流行的插件,如Jetpack或bbPress,其代码中都有数百个过滤器。有时甚至过度。没有任何处理程序的每个新过滤器(或操作)通常不会产生很大的开销。这是一微秒。
10个^−3秒毫秒ms10^−6秒微秒µs
更重要的是,通过以下方式添加新的处理程序,您正在对此操作执行什么操作add_action()
或add_filter()
. 例如,对数据库服务器的请求(有时是不明显的,例如通过get_option()
). 你可以测量它。最简单的示例:
$start = microtime(true);
// Do some stuff here
$end = microtime(true);
echo $start, PHP_EOL, $end, PHP_EOL, $end - $start, PHP_EOL,
这是一种非常简单的技术,有时也是最适合评测代码的技术。顺便说一下,WordPress有内部“秒表”,结账
timer_start()
和
timer_stop()
.
也可以使用XDebug。配置起来可能很复杂。但你可以使用VVV 或任何其他现成服务器。所有这些都已经正确配置了Xdebug,您可以直接使用它-听起来不错,不是吗?。如果使用VVV,只需点击几个命令:
vagrant ssh
xdebung_on
仅此而已!切换到IDE并分析代码。或者使用像WebGrind这样的VVV内部服务。有关此技术的更多信息,请访问
Code Debugging Wiki. 应该记住,使用Xdebug会对性能产生影响,但您会发现代码速度慢(瓶颈)。
第三个。最后一件事。WordPress的理念是Decisions, not Options.