📜  PHP中require-dev和require之间的区别?

📅  最后修改于: 2022-05-13 01:56:28.396000             🧑  作者: Mango

PHP中require-dev和require之间的区别?

在了解require和 require_dev 之间的区别之前,首先要了解什么是 require 和 require_dev。

注意: require 和 require_dev 是composer.json中可用的重要参数。

什么是作曲家?
Composer 是PHP中的依赖项/参数管理器。它可用于安装跟踪和更新项目依赖项。 Composer 还负责自动加载应用程序所依赖的依赖项,以便在项目中轻松使用依赖项,而不必担心将它们包含在任何给定文件的顶部。项目的依赖项列在“composer.json”文件中,该文件通常位于项目根目录中。该文件包含有关生产和开发所需软件包版本的信息。该文件可以使用任何文本编辑器手动编辑,也可以通过命令行通过“composer require”或“composer require_dev”等命令自动编辑。
要在项目中开始使用 composer 首先需要创建 composer.json 文件。它可以手动创建,也可以简单地运行 composer init。在终端中运行 composer init 后,它会询问有关项目的一些基本信息,例如包名称、描述(它是可选的)、作者和来源其他信息,例如最低稳定性、许可证和所需的包。
composer.json 中的require键指定项目所依赖的包的作曲家 require 需要一个映射包名称的对象
例子:

{
    "require": {
  
        // name of package.
        "composer/composer:" "1.2.*"
    }
}

在上面的示例中,“composer/composer”指定供应商名称和项目名称,由斜线('/')分隔,“1.2.*”指定版本名称。
要安装依赖项,需要运行 composer install 命令,然后它将找到用于提供版本约束的方法定义的包并将其下载到供应商目录。它约定将第三方代码放入名为 vendor 的目录中。安装的命令还创建了一个 composer.lock 文件。

require 和 require_dev 的区别:

  • 要求:
    • 它定义了实际的依赖关系以及包版本。
    • require 列出了这个包需要的包。
    • 除非满足这些要求,否则不会安装该软件包。
  • 要求开发:
    • 它定义了开发项目所需的包。
    • require_dev 列出了开发此包或运行测试等所需的包。
    • 默认安装根包的开发需求。 install 或 update 都支持“–no-dev”选项,以防止安装 dev 依赖项。