Laravel学习-01预备阶段-02 Composer

Laravel学习-01预备阶段-02 Composer

在上一篇《Laravel学习-01预备阶段-01 PHP 基础》中,我们回顾了 Laravel 开发所需的 PHP 核心语法。本篇聚焦于现代 PHP 开发的基石工具 ------ Composer,并简要说明它在 Laravel 项目中的核心作用。掌握 Composer,是高效使用 Laravel 的第一步。


1. 什么是 Composer?

Composer 是 PHP 的依赖管理工具。它允许你声明项目所依赖的第三方库(包),并自动完成下载、安装、更新和自动加载。

Laravel 本身及其绝大多数功能模块(如数据库、队列、缓存、邮件等)都是通过 Composer 管理的。没有 Composer,就无法使用 Laravel 的生态。


2. 安装 Composer

macOS / Linux

bash 复制代码
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Windows

前往 getcomposer.org/download/ 下载 Composer-Setup.exe,按向导安装。

安装完成后,在终端执行:

bash 复制代码
composer -V

若显示类似 Composer version 2.x.x,说明安装成功。


3. 配置国内镜像(推荐)

由于网络原因,官方源(packagist.org)在国内访问较慢。建议切换为国内镜像:

bash 复制代码
# 配置阿里云镜像(全局生效)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

使用 -g 表示全局配置,对所有项目生效。如需恢复官方源,执行:

bash 复制代码
composer config -g --unset repos.packagist

4. Composer 的核心概念

4.1 composer.json

这是项目的"依赖清单",定义了:

  • 项目名称、描述
  • 依赖的包(require)
  • 开发依赖(require-dev)
  • 自动加载规则(autoload)

示例:

json 复制代码
{
    "name": "laravel/laravel",
    "type": "project",
    "require": {
        "php": "^8.2",
        "laravel/framework": "^11.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    }
}

4.2 vendor/ 目录

运行 composer install 后,所有依赖包会被下载到 vendor/ 目录。不要手动修改此目录内容。

4.3 composer.lock

锁定当前安装的确切版本号,确保团队成员或生产环境使用完全一致的依赖。应提交到 Git。


5. 常用命令

命令 说明
composer install 根据 composer.lock(或 composer.json)安装依赖
composer update 更新依赖到最新允许版本(会更新 composer.lock)
composer require monolog/monolog 安装依赖,并更新 composer.json
composer require --dev phpunit/phpunit 安装开发依赖
composer dump-autoload 重新生成自动加载文件(如新增类后需执行)

Laravel 项目中,通常只需运行一次 composer install 即可完成依赖安装。


6. Composer 与 Laravel 的关系

  • 创建项目:

    bash 复制代码
    composer create-project laravel/laravel myapp

    实际是下载 laravel/laravel 包并安装其所有依赖。

  • 扩展功能 :

    安装如 laravel/sanctum(API 认证)、spatie/laravel-permission(权限管理)等,均通过 composer require 完成。

  • 自动加载 :

    Composer 根据 psr-4 规则自动生成 vendor/autoload.php,Laravel 入口文件 public/index.php 会引入它,从而无需手动 require 类文件。


7. 验证 Composer 是否正常工作

新建一个测试目录,执行:

bash 复制代码
mkdir test-composer && cd test-composer
composer require monolog/monolog

若成功下载 monolog 并生成 vendor/ 目录,说明 Composer 已配置正确。


小结

Composer 是 Laravel 乃至现代 PHP 开发不可或缺的工具。它解决了依赖管理、版本控制和自动加载三大核心问题。理解 composer.json、vendor/ 和常用命令,将为你后续学习 Laravel 扫清障碍。

注意:在 Laravel 项目中,所有第三方包都应通过 Composer 安装,切勿手动复制代码!


系列预告 :

《Laravel学习-01预备阶段-03 Web基础》

相关推荐
JaguarJack21 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
后端·php·laravel·服务端
魔众2 天前
ModStartBlog v11.3.0 安全加固、体验优化,自动化测试更强大
开源·php·laravel
AI情绪识别开源7 天前
HFpEF 心房-心室耦联效率无创监测方向(AVCEI)
typescript·laravel·perl
catchadmin9 天前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
数据库·人工智能·laravel
BingoGo14 天前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
后端·laravel
JaguarJack14 天前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
后端·ai·php·laravel·服务端
右耳朵猫AI23 天前
PHP周刊2026W38 | Laravel AI可观测、Symfony三版本、Webhook零信任、事件溯源架构
后端·php·laravel
右耳朵猫AI1 个月前
PHP周刊2026W37 | Symfony 三维护版齐发、Laravel AI SDK 0.11、LSP 服务器上线
后端·php·laravel
右耳朵猫AI1 个月前
PHP周刊2026W36 | Laravel AI SDK 0.11可观测、Symfony 8.1.5、Octane并发、事件溯源
人工智能·php·laravel
JaguarJack1 个月前
现在就值得尝试的 5 个 Laravel 新包
后端·php·laravel·服务端