Composer 原理&使用
程序员文章站
2024-03-24 09:37:28
...
名词解释
Composer(作曲家),Packagist:PHP类库安装包市场,类似Maven库,类似应用商店 https://packagist.org/
Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。
Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。vendor中文翻译为厂商(第三方), webpack 中通常用vendor来命名我们项目中使用的第三方库(俗称三方库)。
Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。
Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。
引入第三方类库的流程对比
Composer下载&安装类库的流程
Composer 基本使用
安装
// Linux Mac 可只执行如下命令安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
// Windows可下载exe安装程序进行安装
https://getcomposer.org/Composer-Setup.exe
检查版本
# composer --version
Composer version 1.8.0
配置Packagist国内镜像
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
给项目引入 phpmailer 依赖
# cd project_path
# composer search phpmailer
phpmailer/phpmailer PHPMailer is a full-featured email creation and transfer class for PHP
# composer require phpmailer/phpmailer
命令执行完毕,会自动生成:
- 目录 vendor:里面有下载安装的类库以及autoload.php(自动加载的文件)
- 文件 composer.json composer.lock
在项目中使用 phpmailer
只需引入 autoload.php
<?php
header('Content-type:text/html;charset=utf-8');
echo '项目入口文件<br>';
// 引入Composer自动加载文件
require_once __DIR__ .'/vendor/autoload.php';
// 实例化PHPMailer对象
$mailer = new \PHPMailer\PHPMailer\PHPMailer();
// 打印实例的mailer对象
var_dump($mailer);
其他功能
- 新建项目:composer create-project
- 安装依赖:composer install
- 查看依赖:composer show
- 更新依赖:composer update
- 更新composer工具本身:composer self-update
应用举例
使用Composer创建ThinkPHP5项目
# composer create-project topthink/think demo_tp5_api --prefer-dist
# php think run -p 8001
此时访问 http://localhost:8001,可看到如下内容