在插件中使用第三方库时避免类名冲突?

时间:2014-05-05 作者:MaxiWheat

我目前正在开发一个Wordpress插件,在我们新的Wordpress网站中处理非常特殊的行为。我从阅读抄本中的介绍文章开始,我还发现Wordpress plugin boilerplate. 据说

为了避免函数和变量冲突,我们应该将函数封装在一个类中,这个类应该以我们的插件命名。

样板似乎已经处理好了,很好!

然而,我也希望为我的插件(Swiftmailer、Mixpanel等)使用第三方库,这些插件将放在“/wp-content/plugins/myplugin/includes”中。

我的问题是,如果其他插件在其代码中也使用这些库中的一个,该怎么办?Swiftmailer是一个非常常见的库,因此其他库可以在初始化时加载它。将发生冲突(无法在PHP中重新定义类)。Wordpress中是否有处理该问题的机制?还是有人已经有了解决这类问题的方法?

1 个回复
最合适的回答,由SO网友:Nick Young 整理而成

我以前不得不这样做,我发现我最容易做的事情是这样的:

    function check_for_library() {
        return class_exists( \'Class_Of_Library_In_Question\' );
    }
然后您只需填写正确的详细信息并调用此函数。

    if( ! check_for_library() ) {
        include_once( \'library_file.php\' );
    }

结束

相关推荐

根据自定义角色限制在users.php中显示的角色

我已使用一个名为\'regional_manager\'我为这个角色提供了添加\\u用户的功能,并为我的函数创建了一个自定义代码段。仅在“角色”下拉列表中列出订阅者的php文件。这意味着regional\\u manager角色只能创建具有subscriber角色的新用户。现在,我想阻止他们在访问时看到所有其他用户www.mydomain.com/wp-admin/users.php 有没有一种简单的方法可以做到这一点?有没有人可以举一个类似的例子来为我指明方向?