Composer的PSR-4自动加载通过composer.json中autoload配置命名空间与路径映射,如"App\": "src/",要求类名与文件名一致且目录层级匹配命名空间,执行composer dump-autoload生成映射文件,最后在入口文件引入vendor/autoload.php即可自动加载类。

Composer 的 PSR-4 自动加载机制通过 composer.json 文件中的 autoload 配置项来定义命名空间与文件路径的映射关系。只要按规范组织代码目录,Composer 就能自动加载对应的类文件。
1. 基本配置结构
在项目的 composer.json 中添加 autoload 字段,使用 "psr-4" 键来声明命名空间映射:
上面配置表示:
- 所有以 App\ 开头的类,都会从 src/ 目录中查找对应文件
- 以 Tests\ 开头的类,从 tests/ 目录查找
2. 文件命名与目录结构要求
PSR-4 要求类文件名与类名一致,并使用 .php 扩展名。命名空间层级对应目录层级。
例如,类 App\Controller\UserController 应该位于:
src/Controller/UserController.php文件内容应包含:
3. 生成自动加载映射
配置完成后,运行以下命令生成自动加载文件:
composer dump-autoload这会更新 vendor/composer/autoload_psr4.php 文件,Composer 运行时依赖此文件进行类定位。
开发过程中修改了命名空间或路径,都需要重新执行该命令。
4. 在项目中启用自动加载
在入口文件(如 index.php)中引入 Composer 的自动加载器:
基本上就这些。只要命名空间、目录结构和配置对应上,PSR-4 就能正常工作。










