如何在PHP原生项目(非框架)中从零开始使用Composer?

17次阅读

php原生项目使用composer需三步:安装Composer(windows用Setup.exe,macOS/linuxcurl命令)、初始化项目生成composer.json、通过composer require引入依赖并自动加载;还可配置files字段手动加载非PSR-4文件。

如何在PHP原生项目(非框架)中从零开始使用Composer?

在PHP原生项目中从零开始使用Composer,核心是三步:安装Composer、初始化项目、声明并加载依赖。不需要框架,纯PHP也能高效管理类库和自动加载。

安装Composer(本地或全局)

Composer不是PHP内置工具,需单独安装:

  • windows用户推荐下载Composer-Setup.exe,一键安装(会自动配置系统PATH)
  • macOS/Linux可运行命令:curl -sS https://getcomposer.org/installer | php,再把生成的composer.phar移到/usr/local/bin/composer使其全局可用
  • 验证是否成功:终端执行composer --version,看到版本号即表示就绪

初始化项目并生成composer.json

进入你的PHP项目根目录(比如/my-project),运行:

composer init

立即学习PHP免费学习笔记(深入)”;

它会交互式引导你填写包名、描述、作者、依赖等。若想跳过提问,直接生成最小配置,可运行:

composer init --name="my-project" --description="A simple PHP project" --type="project" --require="php:>=7.4"

完成后,项目根目录会出现composer.json——这是整个依赖管理的配置中心。

引入和使用第三方库(如monolog)

以日志库monolog/monolog为例,执行:

composer require monolog/monolog

Composer会做三件事:

  • 下载monolog及其依赖到vendor/目录
  • 更新composer.json中的require字段
  • 生成或更新vendor/autoload.php自动加载文件

之后在任意PHP脚本中,只需开头引入一次自动加载器:

require_once 'vendor/autoload.php';

接着就能直接使用类了,例如:

$logger = new MonologLogger('name');
$logger->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));
$logger->warning('Something went wrong!');

手动加载自己的PHP文件(非PSR-4)

Composer默认支持PSR-4自动加载,但原生项目常有扁平结构(如functions.phpconfig.php)。这时可在composer.json中用files字段声明:

"autoload": {   "files": ["functions.php", "config.php"] }

然后运行composer dump-autoload重新生成映射。之后这些文件会在require_once 'vendor/autoload.php'时自动载入,无需手动include

text=ZqhQzanResources