如何在插件里使用 不支持composer 的类库?如果使用extend方式,插件安装时是否支持自动将此类库复制到extend 目录下?
在thinkphp中可以使用Loadder::addNamespace 解决 不知道webman中是否有类似的方式
Loadder::addNamespace
给一个命名空间,然后use 引用
这种方式也不是不行,但是这个类库的文件有点多,而且还自带了命名空间,要是改动原来的命名空间就太麻烦了。 如果能用自动加载的方式可能是最方便的
可以参考这个文章 https://www.cnblogs.com/brady-wang/p/10630339.html
好的 ,感谢
啥类库还不支持composer?
因为想写个插件,插件安装的时候好像是没法自动安装compser类库,所以是想把类库直接放在插件的目录下供用户使用,但是类库原本的命名空间就需要修改了。
在安装方法里执行 composer 命令安装类库就行了
应用插件的确不支持, 你可以用这个包放到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环境
给一个命名空间,然后use 引用
这种方式也不是不行,但是这个类库的文件有点多,而且还自带了命名空间,要是改动原来的命名空间就太麻烦了。
如果能用自动加载的方式可能是最方便的
可以参考这个文章
https://www.cnblogs.com/brady-wang/p/10630339.html
好的 ,感谢
啥类库还不支持composer?
因为想写个插件,插件安装的时候好像是没法自动安装compser类库,所以是想把类库直接放在插件的目录下供用户使用,但是类库原本的命名空间就需要修改了。
在安装方法里执行 composer 命令安装类库就行了
应用插件的确不支持,
你可以用这个包放到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环境