@lgh-dev
2017-10-26T03:18:26.000000Z
字数 1441
阅读 786
PHP
对于现代语言而言,包管理器基本上是标配,Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过PEAR坑不少:
composer 需要5.3.2+才能使用
$ curl -sS https://getcomposer.org/installer | php
这个命令会将 composer.phar
下载到当前目录。PHAR(PHP 压缩包)是一个压缩格式,可以在命令行下直接运行。
你可以使用 --install-dir 选项将 Composer 安装到指定的目录,比如
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
当然也可以全局安装
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
在 Mac OS X 下也可以使用 homebrew 安装:
$ brew tap josegonzalez/homebrew-php
$ brew install josegonzalez/php/composer
不过通常情况下只需将 composer.phar 的位置加入到 PATH 环境变量就可以,不一定要全局安装。
在项目的目录下面创建一个项目依赖composer.json,指明依赖,如下所示:
{
"require": {
"guzzlehttp/guzzle": "^6.3",
"monolog/monolog": "^1.23",
"symfony/http-foundation": "^3.3",
"willdurand/geocoder": "^3.3",
"league/csv": "^8.2"
}
}
composer install
composert require 组件或包的名字
composer update 更新composer.json的内容
composer install命令(主要)用于生产环境,composer.lock文件记录项目当前版本信息,当执行install命令时,会检测lock文件的各扩展
版本与最新版本差别,如果有则更新到最新版。
而composer update命令也会执行上述所讲,但是如果在composer.json文件添加库到require字段时,
就必须用composer update命令了。但这时会更新其他库的内容,此时如果只是添加某个库而不更新其他库(例如生产环境),就要使用composer
require "包名:版本号" 命令了。composer init --require=包名:版本号 -n 还可以自动更新composer.json文件
如果没有全局安装的话使用如下命令:
php composer.phar install
Composer 提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行
require 'vendor/autoload.php';
packagist.org 是Composer的仓库,很多著名的 PHP 库都能在其中找到。你也可以提交你自己的作品。
以上介绍了 Composer 的基本用法。Composer 还有一些高级特性,虽然不是必需的,但是往往能给 PHP 开发带来方便。
项目主页
更多信息请访问 Composer 的官方主页或者中文站点。