Composer for PHP:完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Composer,为什么需要它?



Composer 是用于 PHP 编程语言的依赖管理器。如果您使用过 JavaScript 的 npm 或 Python 的 pip,那么 Composer 的工作原理对您来说将很熟悉。它允许您声明项目所依赖的库,并自动管理它们的安装、更新和删除。



为什么需要 Composer?在现代 PHP 开发中,很少从头开始编写所有内容。通常使用现成的库:用于数据库操作(Doctrine、Eloquent)、HTTP 请求(Guzzle)、模板引擎(Twig)、日志记录(Monolog)等。以前,开发者下载 ZIP 压缩包,手动复制文件并通过 require 引入它们。这很不方便,难以维护版本和更新依赖。Composer 解决了所有这些问题:



  • 自动加载: Composer 会生成一个自动加载文件,自动引入所有需要的类。您无需编写数十个 require_once。
  • 版本管理: 您可以指定库的确切版本(或范围),Composer 会确保它们之间没有冲突。
  • 集中式仓库: 所有库都存储在 Packagist.org — Composer 的官方仓库。
  • 可重现性: composer.lock 文件记录了所有已安装包的确切版本,确保在开发机、测试机和生产环境中的环境完全一致。


安装 Composer



在 Linux / macOS 上安装

最简单的方法是使用官方安装脚本。打开终端并运行:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"

之后您将得到 composer.phar 文件。要使其作为全局的 composer 命令可用,请移动它:

sudo mv composer.phar /usr/local/bin/composer


在 Windows 上安装

从 官方网站 下载并运行安装程序。它会自动将 Composer 添加到系统 PATH 环境变量中。



验证安装

安装后,在终端中运行:

composer --version

您应该会看到类似这样的内容:Composer version 2.7.1 2024-03-11 16:15:07。



快速入门与代码示例



让我们创建一个新项目并安装用于处理日期的库 nesbot/carbon。



  1. 创建项目目录:
    mkdir my_projectcd my_project
  2. 初始化 Composer:
    composer init

    系统会提示您输入项目名称、描述、作者等信息。您可以一直按 Enter 键接受默认值。最终会创建一个 composer.json 文件。

  3. 安装 Carbon 库:
    composer require nesbot/carbon

    Composer 会将该库及其所有依赖项下载到 vendor/ 文件夹中,同时创建 composer.lock 文件并更新 composer.json。

  4. 创建 index.php 文件:
    <?phprequire_once __DIR__ . '/vendor/autoload.php';

    use Carbon\\Carbon;

    echo

推荐