composer
是php的一个依赖管理工具。你可以在项目中声明所依赖的代码库,并安装他们。下面由
composer使用教程
栏目为大家讲解composer在windows和linux(如centos)的安装和简单使用。
安装 Composer
1.首先请确认已经正确安装了PHP,windows打开命令行窗口/linux打开终端,执行 php -v 查看是否正确输出版本号。
windows
centos
如果安装了php,但未设置环境变量,需要设置环境变量
windows
退出并重新打开命令行窗口,再次输入php -v查看版本号,如果依然不正常,请检查php目录是否正确
centos
再次输入php -v查看版本号,如果依然不正常,请检查php目录是否正确
2.下载 Composer
3.安装 Composer
4.删除安装程序
5.局部安装
以上步骤下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了!
6.全局安装
centos
打开终端并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
windows
进入 PHP 的安装目录,将 composer.phar 复制到 PHP 的安装目录下面,在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号
windows
centos
这里只做演示,不可以以root身份执行composer,官方给出的解释是:某些Composer命令,包括exec,install和update允许第三方代码在您的系统上执行。这是来自其“插件”和“脚本”功能。插件和脚本可以完全访问运行Composer的用户帐户。因此,强烈建议 避免以超级用户/ root身份运行Composer。
7.升级 Composer
8.设置composer国内源
使用 Composer
1.基于composer.json
在项目的目录下创建一个 composer.json 文件,描述项目的依赖关系。
表示需要下载从 1.2 开头的任何版本的monolog,使用下面的命令即可安装代码库
2.基于require 命令
若你感到创建composer.json文件麻烦,也可以在安装时使用require命令
composer 会去寻找代码库信息,并自动创建composer.json文件和composer.lock文件
3.更新项目里所有的代码库,或者指定的某些代码库
4.移除一个代码库,如果被其他代码库使用,则无法移除
5.在源中搜索代码库
6.查看代码库信息
自动加载
除了代码库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的代码库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中
PS E:\repository\work> php -v
PHP 7.0.32 (cli) (built: Sep 12 2018 15:54:08) ( ZTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies[root@jmsiteos7 ~]# php -v
PHP 7.2.13 (cli) (built: Dec 6 2018 23:18:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.13, Copyright (c) 1999-2018, by Zend Technologiesvi /etc/profile
#文件地步输入如下两行
PATH=$PATH:/usr/local/php72/bin/:/usr/local/php72/sbin/
export PATH
#立即生效
source /etc/profilephp -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"php composer-setup.phpphp -r "unlink('composer-setup.php');"mv composer.phar /usr/local/bin/composer@php "%~dp0composer.phar" %*PS E:\repository\work> composer --version
Composer version 1.8.0 2018-12-03 10:31:16[root@jmsite ~]# composer --version
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer version 1.8.0 2018-12-03 10:31:16composer selfupdatecomposer config -g repo.packagist composer https://packagist.phpcomposer.com{
"require": {
"monolog/monolog": "1.2.*"
}
}composer installcomposer require monolog/monolog# 更新所有代码库
composer update
# 更新指定的代码库
composer update monolog/monolog
# 更新指定的多个代码库
composer update monolog/monolog phpaes/phpaes
# 还可以通过通配符匹配代码库
composer update monolog/monolog phpaes/*composer remove monolog/monologcomposer search monolog# 显示已经安装的代码库
composer show
# 通过通配符进行筛选
composer show monolog/*
# 具体某个代码库的信息
composer show monolog/monologrequire 'vendor/autoload.php';
#
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');