【问题标题】:How composer works?作曲家是如何工作的?
【发布时间】:2015-10-17 06:11:22
【问题描述】:

我不知道 composer 是如何工作的并在我们的文件夹结构中添加目录。

最近我想将存储库添加到我的 laravel 安装中,因此我使用了 https://github.com/prettus/l5-repository,这个 repo 并按照它的安装步骤,第一步是执行以下命令:

composer require prettus/l5-repository

这个命令在 vendor 下创建 prettus 目录,那么它是如何工作和管理所有东西的?

我的问题是:

  1. composer的主要目的是什么?

  2. 什么是最好的结构?

  3. 它将如何处理依赖关系?

  4. "autoload" 和 'psr-4` 是什么以及两者的用途?

  5. 正确命名“autoload”和“psr-4”的路径和结构?

【问题讨论】:

  • 如果您知道 Debian 中的 apt-get 是一样的。包管理器正在添加所有必需的库(必须在 packageagist 中列出,或者它们的路径必须添加到 composer.json),之后添加了一个包 composer 在 composer autoloader 中加载它的命名空间,你就可以使用它了。
  • 我认为这对于一个问题来说太多了。我喜欢询问它是如何工作的问题,但它确实有很多要回答的问题。我建议把它分开。
  • 并阅读文档。 getcomposer.org/doc 并从一个小的 Composer 项目开始 getcomposer.org/doc/01-basic-usage.md。我认为,如果您使用它并阅读 Composer 文档,您会自动理解它。将现有的 PHP 项目拆分为单独的 Composer 包。充分受益。

标签: php laravel laravel-5 composer-php


【解决方案1】:

来自 Composer 文档:

Composer 不像 Yum 或 Apt 那样是包管理器。是的,它处理“包”或库,但它基于每个项目管理它们,将它们安装在项目内的目录(例如供应商)中。默认情况下,它永远不会在全局范围内安装任何东西。因此,它是一个依赖管理器。 ... 这个想法并不新鲜,Composer 受到 node 的 npm 和 ruby​​ 的 bundler 的强烈启发。

https://getcomposer.org/doc/00-intro.md#dependency-management

【讨论】:

猜你喜欢
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 2013-07-30
  • 1970-01-01
  • 2015-06-14
  • 2020-12-04
相关资源
最近更新 更多