关于webman应用插件使用composer第三方包有没有什么好的解决办法?

楚羽幽

问题描述

如题所示

假如我开发了一个webman-admin的应用,里面使用了很多的第三方composer包,那上传到应用市场,有什么办法使用第三方composer包呢?
目前我们这边在做了一个SAAS框架后台,机制也是类似于官方的webman-admin
但我们的webman应用使用了很多的第三方包,发布到应用市场的时候,却无法加载composer包
如果不解决这个问题,那安装了SAAS框架的客户就算安装了SAAS框架
每次下载了应用商店的应用都需要来composer update一下,非常麻烦

548 1 0
1个回答

北月

自己写几个函数去检测和安装依赖吧,举个栗子:

function check_plugin_dependencies():array
{
    //依赖检测...
    return [
        [
            "package_name"=>"overtrue/flysystem-qiniu",
            "version"=>"3.2.2",
        ],
    ];
}

function install_plugin_dependencies()
{
    $packages = check_plugin_dependencies();
    if (count($packages)) {
        foreach($packages as $package) {
            shell_exec("cd /path/to/webman && composer require {$package['package_name']} {$package['version']}");
        }
    }
}

====

更进一步,在项目中内置静态编译的 php 二进制文件和 composer.phar 文件,这样子用起来更灵活,不用担心用户是否安装了 composer 还有 php 版本是否对应得上。

🔝