由于这个问题有许多不同的组件/标准需要解释,我将尝试在这里尽可能多地解释,你可以PM我或者只是谷歌它,以获得更具体的问题。
要回答您的第一个问题,“如何将本地包添加到我的包中?composer.json
如果“添加本地包”是指自动加载类/包,则可以通过在 Composer 中使用 PSR-4 或 PSR-0 或 Classmap 选项来执行此操作。
阅读更多
如果您需要有关PSR-0,PSR-4和Classmap的更多信息,可以Google它。
例
"autoload": {
"psr-4": { "Core\\": "src/Core" } ## "standard": { "namespace" : "path/to/dir"}
}
或 (编辑)
如果您真的想添加本地包:
-
为本地包创建一个,如下所示:composer.json
{
"name": "localPackage/core",
"version": "dev-master"
}
还可以根据需要指定其他属性和/或依赖项。
压缩包,将文件作为根文件放在 中,并将其放在所需的位置。composer.json
archive.zip
-
在要包含本地包的其他项目/包中,将本地包名称添加到必需参数中,例如
"localPackage/core": "dev-master"
在参数下添加以下内容:repositories
"repositories" : [
{
"type": "artifact",
"url": "path/to/localPackage.zip"
}
]
现在,如果您在git上有本地包,则无需存档包(基本上省略了步骤2),您只需要将上面示例中的URL替换为.path/to/localPackage/.git
(编辑结束)
现在回答一个更大的问题:“我如何开发和包含 Composer 包?
-
确定目录结构。通常如下所示:
/PackageRoot
/src/PackageCore
composer.json ## this is your library’s composer.json
LICENSE
并设置您的 .composer.json
其中一个地雷文件的例子可以在 http://pastebin.com/tyHT01Xg 找到。composer.json
将其上传到Github并标记版本。使用语义版本控制(确保在上传到 Github 时排除/忽略该目录)。vendor
-
向 Packagist 注册软件包(登录后)。
如果您已将提交标记为(或类似),则这将显示在该软件包的 Packagist 仪表板中。v1.0.0
现在,如果一切正确,您应该能够通过将库添加到该项目的库中作为其他项目中的依赖项。composer.json