1

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

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

根据以下内容在模块目录下包含供应商目录是否正确?

/application_dir
     /vendor
     /module
          /my_module
              /vendor
4

1 回答 1

1

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

作曲家文档

基本上,您将修改应用程序根目录中的文件 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 更新。

于 2013-10-21T21:34:40.780 回答