Symfony2在捆绑包中使用第三方供应商

Symfony2在捆绑包中使用第三方供应商,symfony,composer-php,bundle,cpanel,Symfony,Composer Php,Bundle,Cpanel,我正在创建一个CpanelBundle,它将cpanelxmlapi集成到Symfony中。 我将在此处使用CpanelInc提供的类: 我想让这个捆绑包可以跨项目使用,也可以开源 Symfony文档指出,您不应该将第三方库放入捆绑包中。Cpanel类也没有名称空间,它不在composer上 我可以也应该将Cpanel类放在vendor文件夹中,但如何将其添加到autoload和bundle composer.json中,以便在我发布bundle时,用户也可以获得它?您好,您可以使用compos

我正在创建一个CpanelBundle,它将cpanelxmlapi集成到Symfony中。 我将在此处使用CpanelInc提供的类:

我想让这个捆绑包可以跨项目使用,也可以开源

Symfony文档指出,您不应该将第三方库放入捆绑包中。Cpanel类也没有名称空间,它不在composer上


我可以也应该将Cpanel类放在vendor文件夹中,但如何将其添加到autoload和bundle composer.json中,以便在我发布bundle时,用户也可以获得它?

您好,您可以使用composer加载此文件。请看

您的composer.json可以如下所示:

{
    "name": "my/bundle",
    "autoload": {
       "psr-0": {"": "src"}
    },
    "require": {
         "php": ">=5.3.2",
         "symfony/framework-bundle": ">=2.1,<2.3-dev",
         "CpanelInc/xmlapi-php": "*"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "CpanelInc/xmlapi-php",
                "version": "master-dev",
                "dist": {
                    "url": "http://github.com/CpanelInc/xmlapi-php/zipball/master",
                    "type": "zip"
                },
                "source": {
                    "url": "git://github.com/CpanelInc/xmlapi-php.git",
                    "type": "git",
                    "reference": "master"
                },
                "autoload": {
                    "files" : ['xmlapi.php']
                }
            }
        }
    ]
}
{
“名称”:“我的/捆绑包”,
“自动加载”:{
“psr-0”:{”“:“src”}
},
“要求”:{
“php”:“>=5.3.2”,

“symfony/framework bundle”:“>=2.1,我认为
自动加载
部分可以更好。它将在每次请求时自动加载,即使不使用Cpanellnc/xmlapi php。您应该使用我今天在这篇文章之后研究过的composer文档,并且也找到了类映射。