5
在WP插件中启动类的最佳方法?
我已经创建了一个插件,并且当然是我自己,我想采用一种不错的面向对象方法。现在,我一直在做的事情是创建此类,然后在下面创建此类的实例: class ClassName { public function __construct(){ } } $class_instance = new ClassName(); 我以一种更多的WP方式来启动该类,然后我碰到人们说他们更喜欢拥有一种init()功能而不是一种功能__construct()。同样,我发现一些人在使用以下钩子: class ClassName { public function init(){ } } add_action( 'load-plugins.php', array( 'ClassName', 'init' ) ); 通常认为在负载下创建WP类实例并将其作为全局可访问变量的最佳方法是什么? 注意:作为一个有趣的观点,我注意到虽然register_activation_hook()可以从中调用__construct,但是不能init()使用第二个示例来调用。也许有人可以启发我这一点。 编辑:感谢所有的答案,关于如何在类本身中处理初始化问题,显然存在很多争论,但是我认为通常存在相当不错的共识,这add_action( 'plugins_loaded', ...);是真正开始初始化的最好方法... 编辑:只是使事情变得混乱,我也看到了这个用法(尽管我自己不会使用此方法,因为将一个很好的OO类转换为一个函数似乎违反了它的观点): // Start up this plugin add_action( 'init', 'ClassName' ); function ClassName() { global $class_name; $class_name …