在wordpress插件中使用composer包

时间:2015-09-28 07:51:18

标签: php wordpress plugins composer-php

我正在开发一个wordpress插件,该插件使用了一个composer包。作为参考,我正在开发的插件在这里:

https://github.com/tunapanda/wp-h5p-xapi

我正处于本地工作的阶段,我想将其发布到wordpress插件库。

为了使用该插件,我需要在插件目录中运行composer install以安装composer包。我的问题是,它如何与插件存储库一起使用以及使其工作的最佳实践是什么?因为很明显,如果我只是将插件发布到存储库,如果有人从那里安装它就无法工作,因为那时将不会安装作为依赖项的composer包。

我认为有两种不同的方法可以解决这个问题:

  • 将我的vendor目录放在源代码管理下,并将其签入存储库。这并不是一个理想的解决方案,因为我首先会失去使用诸如composer之类的包管理器的重点。

  • 避免一起使用composer,而只是将我需要的包的代码放在源代码管理下。

所以我的问题是,最佳做法是什么?有谁能指出我使用外部依赖的参考wordpress插件?

1 个答案:

答案 0 :(得分:3)

你的插件看起来非常有趣,看到H5P项目的补充已经很酷了,真的很酷。

关于你的问题,我不确定是否有最佳做法或最佳方法。从我所看到的,最常见的事情是在插件中包含第三方库,或者需要一个已经拥有它的插件。当然,如果它是您需要的版本,则会遇到一个问题。

如果您决定这样做,我建议您在加载插件后加入它,并在包含插件之前进行一些检查,例如:

function load_my_library() {
  if ( !class_exists( 'MyLibraryClass' ) ) {
    require_once( plugin_dir_path(__FILE__) . 'my-library/class.php' );
  }
}
add_action( 'plugins_loaded', 'load_my_library', 0 );

我希望这个答案对你有用。祝你插件好运!