【问题标题】:How to choose the right Composer packages?如何选择合适的 Composer 包?
【发布时间】:2016-04-03 08:52:48
【问题描述】:

我对使用 Composer 有点困惑。

我已经构建了自己的包管理器,它使用一个配置文件和一个大型 SVN 存储库,其中包含我在几个不同项目中需要的所有可能的库(PHP 和 Javascript/CSS)。我自己从图书馆网站下载这些包。

现在我尝试改用 Composer,因为我喜欢自动依赖检查,并且想使用其他人都使用的东西。但是您如何决定哪些软件包是最好的呢?

比如CodeMirror,我以前从https://codemirror.net/下载最新的稳定版。但是当我查看Packagist 时,我看到了很多不同的版本,我不知道该选择哪个。似乎每个人都可以为 Composer 创建新包?我只需要官方的。

那么,你们如何挑选自己需要的包裹呢?

【问题讨论】:

  • CodeMirror 看起来是一个 Javascript 项目...Packagist 是 PHP 包存储库
  • 嗯,它还包含几个 Javascript 库,比如 jQuery,所以我想我可以将它用于我需要的所有包。
  • 它只是您想要的 JavaScript 库,还是它们也提供了某种 PHP 集成。大多数情况下,我们依赖于 JS 的 CDN,或者将库粘贴到项目的 web 文件夹中。
  • 您可能正在寻找类似NPM 的东西,或者类似GulpGrunt 的构建工具。

标签: php composer-php packagist


【解决方案1】:

要直接回答您的问题,对于您想要导入项目的任何组件,找到“规范”源的方法 - 而不是各种分支 - 是回到原始源并查看它们的用法/安装说明建议。如果他们支持基于 Packagist 的安装,他们通常会这么说。如果没有,但他们的(通常)Github 存储库中有一个composer.json,那么您可以将存储库添加到您的composer.json,然后像往常一样将require 包添加到包中。

但是,更一般地说,我认为 Composer 的真正作用存在一些混淆。如 cmets 中所述,Composer 是 PHP 的依赖项管理器。 Packagist 是作曲家管理的软件包的主要存储库。您引用的 CodeMirror 库本质上是一个 javascript 库。

现在确实,如果您搜索"codemirror" on Packagist,您会在那里看到很多结果,其中一些被标记为 Javascript 组件。但它们主要是:

底线:Composer 主要用于导入 PHP 包。需要一些技巧——比如上面提到的 Composer 组件安装程序——才能使其对非 PHP 包可用/有用。

【讨论】:

    猜你喜欢
    • 2022-07-20
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多