我正在开发一个 wordpress 插件,该插件使用了一个 composer 包。作为引用,我正在开发的插件在这里:
https://github.com/tunapanda/wp-h5p-xapi
我在本地工作的阶段,我想把它发布到wordpress插件库。
为了使用该插件,我需要在插件目录中运行 composer install
来安装 composer 包。我的问题是,这如何与插件存储库一起发挥作用以及使它起作用的最佳实践是什么?因为很明显,如果我只是将插件发布到存储库,如果有人从那里安装它,它就不会工作,从那时起,作为依赖项的 composer 包将不会被安装。
我看到了两种不同的处理方式:
将我的
vendor
目录置于源代码管理之下,并将其 checkin 到存储库中。这感觉不是一个理想的解决方案,因为我首先会失去使用 composer 等包管理器的大部分意义。避免一起使用 composer,而只是获取我需要的包的代码并将其置于源代码管理之下。
所以我的问题是,最佳做法是什么?谁能给我指出一个使用外部依赖项的引用 wordpress 插件?
最佳答案
你的插件看起来很有趣,很高兴看到 H5P 的补充已经在做的项目。
至于你的问题,我不确定是否有最佳实践或最佳方法来做到这一点。据我所知,最常见的做法是在插件中包含第 3 方库,或者需要一个已经拥有它的插件。一个问题当然是它是否是您需要的版本。
如果您决定这样做,我建议您在加载插件后包含它,并且在包含它之前进行一些检查,例如
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 );
希望这个回答对你有用。祝你的插件好运!
关于php - 在 wordpress 插件中使用 Composer 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818084/