2015-09-28 40 views
1

我正在開發一個wordpress插件,並且插件使用了一個composer包。僅供參考我開發的插件是在這裏:在wordpress插件中使用composer包

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

我在那裏工作的本地階段,我想將它發佈到WordPress插件庫。

爲了使用插件,我需要在插件目錄中運行composer install以安裝Composer軟件包。我的問題是,這是如何與插件庫一起玩的,以及讓這個工作起作用的最佳實踐?因爲很顯然,如果我只是將插件發佈到存儲庫,並且如果有人從那裏安裝插件,它將無法工作,因爲不會安裝作爲依賴項的作曲家軟件包。

我看到兩種不同的方式來處理這個:

  • 把源代碼管理下我vendor目錄,並檢查它的到庫中。這並不是一個理想的解決方案,因爲我首先會失去使用諸如作曲家等軟件包管理器的許多重點。

  • 避免一起使用作曲家,而只是把我需要的包的代碼放在源代碼控制之下。

所以我的問題是,這是什麼最佳實踐?任何人都可以指向我使用外部依賴的參考WordPress插件?

回答

1

你的插件看起來很有趣,這是冷靜地看到了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); 

我希望這個答案對您有些用處。祝你好運,你的插件!