对于现代语言而言,包管理器基本上是标配。Java有Maven,Python有pip,Ruby有gem,Nodejs有npm。PHP的则是PEAR,不过PEAR坑不少:

  • 依赖处理容易出问题
  • 配置非常复杂
  • 难用的命令行接口

好在我们有Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。

安装Composer

Composer需要PHP 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文件,指明依赖,比如,你的项目依赖 monolog:

{"require": {"monolog/monolog": "1.2.*"}
}

安装依赖

安装依赖非常简单,只需在项目目录下运行:

composer install

如果没有全局安装的话,则运行:

php composer.phar install

自动加载

Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:

require 'vendor/autoload.php';

模块仓库

packagist.org是Composer的仓库,很多著名的PHP库都能在其中找到。你也可以提交你自己的作品。

高级特性

以上介绍了Composer 的基本用法。Composer还有一些高级特性,虽然不是必需的,但是往往能给PHP开发带来方便。

项目主页

更多信息请访问 Composer 的主页。

国内镜像

http://pkg.phpcomposer.com/

Composer PHP依赖管理相关推荐

  1. Composer -- PHP依赖管理的新时代

    对于现代语言而言,包管理器基本上是标配.Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm.PHP 的则是 PEAR,不过 PEAR 坑不少: 依赖处理 ...

  2. Composer -- PHP依赖管理的用法

    1:下载 1.1:方法一: 通过PHP来安装 cd /home/composer curl -sS https://getcomposer.org/installer | php  #这个命令会下载c ...

  3. composer 设置版本号_Composer依赖管理 – PHP的利器

    别再到处搜PHP类扩展包了,对于现代语言而言,包管理器基本上是标配.Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm.PHP 的则是 PEAR,不过 ...

  4. composer:php的依赖管理工具

    phpcomposer PHP 5.3.2+ Composer 不是一个包管理器,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装.默认情况下它不会在全局安装任何东西 ...

  5. PHP依赖管理工具Composer配置安装及基本使用

    一.介绍 Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库.就像是node的npm和ruby的bundler差不多. 二.window ...

  6. window下PHP依赖管理工具Composer的安装与使用

    一.什么是Composer? Composer 是 PHP 的一个依赖管理工具.我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个 ...

  7. linux go vendor目录,Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  8. 关于 C++ 依赖管理

    有经验的程序员,不论所用何种语言,对代码依赖都不会陌生.代码无论是依赖于内部依赖关系,还是依赖于外部库或框架,通常都不会孤立运行.代码的重复使用,亦即使用现有代码的做法,是提升开发效率的重要工具.不过 ...

  9. Python依赖管理和打包工具poetry

    poetry简介 poetry 是一个包管理和打包的工具. 在 Python 中,对于初学者来说,打包系统和依赖管理是非常复杂和难懂的. 以前是把需要的包和版本全部写在requirements.txt ...

最新文章

  1. bind98-内网智能DNS之master服务器构建
  2. 20145220韩旭飞《网络对抗》Exp6 信息搜集与漏洞扫描
  3. gacutil.exe Path
  4. 洛谷 P3374 【模板】树状数组 1
  5. php protobuf 性能,php中使用protobuffer
  6. 代理服务器之正向代理和反向代理
  7. boost::log::string_literal用法的测试程序
  8. 软件工程之快速原型模型
  9. 数学之美:欣赏超越数e
  10. nginx redis mysql_Nginx + Lua + Kafka + Redis + Mysql
  11. 推理集 —— 举一反三
  12. iOS开发-获取View截图图像
  13. ArcPy常用类介绍
  14. 左斜杠和右斜杠的区别
  15. 【算法专题】数独问题详解
  16. 基于zookeeper3.4.6的源码研究(三)
  17. Allegro中anti-etch的作用
  18. graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)
  19. 嵌入式--LCD常用接口介绍
  20. BS工作原理—BS总结

热门文章

  1. Process monitor词汇汉化
  2. 最近开始研究和关注的技术
  3. 简单快速开发C\S架构程序用最简单的不分层最快的效率
  4. 正则表达式快速入门(归纳版)
  5. 设计模式 -- 中介者设计模式 (Mediator Pattern)
  6. 2010年7月微软最有价值专家(MVP)当选名单
  7. 用自定义IHttpModule实现URL重写
  8. pluto实现分析(7)
  9. 设计模式(19)-Observer Pattern
  10. ubuntu重启+sublime快捷键