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

时间:2013-01-05 10:58:59

标签: symfony composer-php bundle cpanel

我正在创建一个CpanelBundle,它将Cpanel xmlapi集成到Symfony中。 我将在这里使用CpanelInc提供的课程:https://github.com/CpanelInc/xmlapi-php

我希望这个捆绑包可以跨项目使用,也可以开源。

Symfony文档说您不应该将第三方库放入捆绑包中。 Cpanel类也没有名称空间,也没有作曲家。

我可以而且应该将Cpanel类放在vendor文件夹中,但是如何将它添加到autoload和我的bundle composer.json 中,所以当我发布我的包时,用户也会得到它? / p>

1 个答案:

答案 0 :(得分:1)

您好,您可以使用composer加载此文件。请参阅composer autoload documentation

你的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']
                }
            }
        }
    ]
}

当您创建composer.json并将其添加到CpanelInc / xmlapi-php并执行PR时会更好:)