如何在插件里使用 不支持composer 的類庫(kù)?如果使用extend方式,插件安裝時(shí)是否支持自動(dòng)將此類庫(kù)復(fù)制到extend 目錄下?
在thinkphp中可以使用Loadder::addNamespace
解決
不知道webman中是否有類似的方式
給一個(gè)命名空間,然后use 引用
這種方式也不是不行,但是這個(gè)類庫(kù)的文件有點(diǎn)多,而且還自帶了命名空間,要是改動(dòng)原來的命名空間就太麻煩了。
如果能用自動(dòng)加載的方式可能是最方便的
應(yīng)用插件的確不支持,
你可以用這個(gè)包放到composer.json中:wikimedia/composer-merge-plugin
擴(kuò)展composer信息為以下:
"extra": {
"merge-plugin": {
"include": [
"plugin/*/composer.json"
],
"require": [],
"recurse": true,
"replace": false,
"ignore-duplicates": false,
"merge-dev": true,
"merge-extra": false,
"merge-extra-deep": false,
"merge-scripts": true
}
},
然后把應(yīng)用插件下定義一個(gè)composer.json 里面自定義的:依賴包,如果你的依賴包自己改過就自定義psr-4 命名空間
然后執(zhí)行composer 就會(huì)同步更新你的插件對(duì)應(yīng)的composer環(huán)境