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.jsonvendor/ 和常用命令,将为你后续学习 Laravel 扫清障碍。

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


系列预告

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

相关推荐
siner.li2 天前
laravel的Redis锁实现
laravel
Shi_haoliu6 天前
SolidTime 本地与服务器环境搭建指南(Laragon + Laravel + Vue3 + PostgreSQL)
服务器·vue.js·ai·postgresql·php·laravel
是乐乐啊呀12 天前
laravel
php·laravel
小代码201614 天前
ubuntu vscode docker php 环境搭建
vscode·ubuntu·docker·php·laravel
lskblog15 天前
PHP中正确处理HTTP响应:从原始响应到JSON数组的完整指南
http·json·php·laravel
JaguarJack15 天前
前后端分离框架 CatchAdmin V5 beta.2 发布 插件化与开发效率的进一步提升
后端·php·laravel
catchadmin17 天前
使用 Laravel Workflow 作为 MCP 工具提供给 AI 客户端
人工智能·php·laravel
catchadmin19 天前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
php·laravel
北漂燕郊杨哥19 天前
Laravel中Tymon\JWTAuth 的用法示例
php·laravel
BingoGo20 天前
使用 Laravel Workflow 作为 MCP 工具提供给 AI 客户端
后端·php·laravel