ZF2模块和外部依赖

时间:2013-10-21 06:10:18

标签: php zend-framework2

我不清楚在我计划分发的自定义模块中包含外部库的最佳做法是什么。

通常我会将外部库放在应用程序的供应商目录下。但是我想确保在分发自定义模块时满足所有依赖项(即我不想强迫人们手动将依赖项下载到其应用程序的供应商目录中)。

正确的做法是在模块目录下包含供应商目录,如下所示?

/application_dir
     /vendor
     /module
          /my_module
              /vendor

1 个答案:

答案 0 :(得分:1)

使用composer,你可以在这里找到文档:

Composer Documentation

基本上你会修改应用程序根目录中的文件composer.json,并在require部分中添加你的依赖项:

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.2.*",
        "doctrine/common": "dev-master",
        "zendframework/zendpdf": "2.*",
        "zendframework/zendservice-recaptcha": "2.*",
        "thiagoalessio/tesseract_ocr": ">= 0.1.2",
        "zf-commons/zfc-user": "dev-master"
        // add your requirements here**
    }
}

如果依赖是在私有github存储库上,您可以像这样添加它:

{
    "require": {
        "vendor/my-private-repo": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@bitbucket.org:vendor/my-private-repo.git"
        }
    ]
}

完成添加后,不要忘记进行composer.phar更新。