对于现代语言而言,包管理器基本上是标配。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 的官方主页或者中文站点。


原文地址:Composer PHP依赖管理的新时代

Composer -- PHP依赖管理的新时代相关推荐

  1. Composer PHP依赖管理

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

  2. 此项目与visual studio的当前版本不兼容_忘掉GOPATH,迎接Go modules,进入Go项目依赖库版本管理新时代...

    Go SDK 1.13测试版已经发布了.从此版本开始,Go modules依赖库版本管理特性将正式开始推荐使用.本文将解释一些和Go modules相关的一些命令和概念. Module(模块)定义为一 ...

  3. 知识管理:新时代企业竞争力核心

    如今已经进入了21世纪的知识经济时代,那么知识经济时代究竟与以前的时代有怎样的不同呢? 新的经济发展规律.新的经济增长方式.新的经济制度.新的游戏规则.新的洗牌等等,简言之,它标志着知识成为新的而且是 ...

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

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

  5. 新智慧记震撼上线,开启进销存管理新时代

    近日,金蝶账无忧旗下免费进销存管理软件--金蝶智慧记正式推出APP重大迭代版本:新智慧记(版本号V4.0),在强化原有进销存管理业务功能基础上,打通资金流水管理,引入工商.记账.信贷.金融等诸多服务, ...

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

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

  7. “开启IT管理新时代”惠普软件客户论坛圆满闭幕

    2012年3月8日,由惠普软件主办的"开启IT管理新时代"客户论坛在北京富力万丽酒店盛大召开,来自政府.金融.电信.制造行业的众多IT主管代表出席了本论坛.本次论坛分设运维管理和应 ...

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

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

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

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

最新文章

  1. android 调用js怎么获取返回值_js 函数
  2. 依次提取二进制1位置的数字,
  3. 为什么截屏不能分享微信_为什么腾讯可以在移动端QQ做到闪照,而在Windows桌面端做不到?...
  4. linux下配置某程序的sudo不用输密码
  5. centos7 r语言安装_R 和 RStudio 的安装及 R Profile 的配置 amp; 初识 R 语言数据爬取...
  6. 程序员编程艺术:第二章、字符串是否包含问题
  7. Sphinx编译docs文档
  8. (30)FPGA面试题全局时钟资源及原语
  9. 罗永浩:如果没有特斯拉和马斯克 激动人心的电动车时代不会这么早的到来
  10. Oracle11g新特性:在线操作功能增强-表增加包含默认值的字段(转载)
  11. 菜鸟教程-maven
  12. 一文读懂Faster RCNN(大白话,超详细解析)
  13. JavaGUI——背景图片设置
  14. python 正数变成负数_初一数学上册第一章有理数1.1正数和负数基础知识概括及同步练习题含解析...
  15. 会员测试环境治理之路
  16. Find My产品|苹果Find My技术助力儿童鞋发展
  17. python小欢喜(三)超级计算器
  18. Elasticsearch快速初始化数据
  19. 修改手机服务器密码忘了怎么办啊,交管服务平台忘了密码而且换了手机号
  20. stm32驱动rgb屏电路图_基于STM32F767驱动 LTDC LCD(RGB屏)

热门文章

  1. 值得一生收藏的经典台词
  2. 网络空间安全导论|基本思维导图持续更新中~
  3. 二维码防伪系统开发-实现了产品信息防伪的高效性
  4. 火红色枫叶背景《你好秋天》秋分节气 PPT模板
  5. 【AiLearning】test2:搭建Shallow Netural Network
  6. HARK学习(五)--AudioStreamFromMic
  7. Python爬虫实战——今日头条图片下载
  8. Kylin源码解析——从CubingJob的构建过程看Kylin的工作原理
  9. java解析Excel日期格式转换问题
  10. Hadoop系列之二:大数据、大数据处理模型及MapReduce