我看不到big 这种做法的好处,原因如下:
注册时不会调用回调函数add_action
和add_filter
函数仅向全局变量添加一个条目$wp_filter
它保存所有筛选器和操作。See source. 它不调用您的函数。当do_action
和apply_filters
被调用(使用适当的钩子名称),这种情况很晚才会发生在钩子应该所在的位置。
您可能会说这样做将使全局变量$wp_filter
变大=>需要更多内存。但我认为创建一个新函数也有同样的问题。
组织代码将所有内容放在一个函数中,迫使您记住主题/插件中每个文件中的所有挂钩。你wouldn\'t 执行以下操作:
英寸header.php
: 为标题中发生的事情(如菜单、注册脚本)添加挂钩和回调函数content.php
: 添加挂钩和回调函数以过滤内容admin-menu.php
: 添加挂钩和回调函数以添加管理菜单(假设这些文件放在主题/插件中)
相反,您必须:
仅将回调函数放入header.php
, content.php
, admin-menu.php
并将所有挂钩放在另一个文件中的一个单独函数中,这将使您很难知道在查看header.php
文件您必须搜索以了解何时触发这些回调。考虑一下当您的主题/插件中有多个类时的情况。你把所有种类的钩子放在一个地方吗?还是每个类都有一个保存所有钩子的包装函数?太多余了!
除此之外,我认为这是个人风格:)。我看到一些像Hybrid这样的框架按照你说的做了。有时候,我很难在这些框架中挖掘!