如何在插件里使用 不支持composer 的类库?

lande

问题描述

如何在插件里使用 不支持composer 的类库?如果使用extend方式,插件安装时是否支持自动将此类库复制到extend 目录下?

在thinkphp中可以使用Loadder::addNamespace 解决
不知道webman中是否有类似的方式

252 4 0
4个回答

a178251115

给一个命名空间,然后use 引用

  • lande 2024-03-01

    这种方式也不是不行,但是这个类库的文件有点多,而且还自带了命名空间,要是改动原来的命名空间就太麻烦了。
    如果能用自动加载的方式可能是最方便的

真的是你呀
Mr_Deng

啥类库还不支持composer?

  • lande 2024-03-01

    因为想写个插件,插件安装的时候好像是没法自动安装compser类库,所以是想把类库直接放在插件的目录下供用户使用,但是类库原本的命名空间就需要修改了。

  • Chance 2024-03-06

    在安装方法里执行 composer 命令安装类库就行了

xini2603

应用插件的确不支持,
你可以用这个包放到composer.json中:wikimedia/composer-merge-plugin
扩展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
}
},

然后把应用插件下定义一个composer.json 里面自定义的:依赖包,如果你的依赖包自己改过就自定义psr-4 命名空间

然后执行composer 就会同步更新你的插件对应的composer环境

  • 暂无评论
🔝