使用Composer管理PHP依赖关系-阿里云开发者社区

开发者社区> 开发与运维> 正文

使用Composer管理PHP依赖关系

简介:

Composer PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。

系统需求:

Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar

Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。

这个命令会将 composer.phar 下载到当前目录。

Java代码  收藏代码
  1. curl -sS https://getcomposer.org/installer | php  

你可以使用 --install-dir 选项将 Composer 安装到指定的目录,例如:

Java代码  收藏代码
  1. curl -sS https://getcomposer.org/installer | php -- --install-dir=bin  

当然也可以进行全局安装

Java代码  收藏代码
  1. curl -sS https://getcomposer.org/installer | php  
  2. mv composer.phar /usr/local/bin/composer  

OSX安装(非全局)

Java代码  收藏代码
  1. brew tap josegonzalez/homebrew-php  
  2. brew install josegonzalez/php/composer  

不过通常情况下只需将 composer.phar 的位置加入到 PATH 环境变量就可以,不一定要全局安装。安装完成后,检查安装版本。

Composer中国镜像

使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速 Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)

一般情况下,安装包的数据(zip 文件等)一般是从 GitHub 或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使 packagist.org、github.com 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json中(系统全局配置)

查看 composer 主目录:通过 composer config -l -g 命令可以列出 composer 的全局配置信息,在这些信息中查找 [home] 配置项就是 composer 的主目录。Linux 用户请执行 sudo composer config -l -g 命令。

进入 composer 的主目录,打开 config.json 文件(如果没有就自己创建一个),然后增加本镜像服务的配置信息,最终内容如下:

Java代码  收藏代码
  1. {  
  2.     "config": {  
  3.     },  
  4.     "repositories": [  
  5.         {"type""composer""url""http://pkg.phpcomposer.com/repo/packagist/"},  
  6.         {"packagist"false}  
  7.     ]  
  8. }  

声明依赖

在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog将中国镜像配置信息添加到你的项目的composer.json 文件中(针对单个项目配置)

Java代码  收藏代码
  1. {  
  2.     "require": {  
  3.         "monolog/monolog""1.2.*"  
  4.     }  
  5.     /*"repositories": [ 
  6.         {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"}, 
  7.         {"packagist": false} 
  8.     ]*/  
  9. }  

 

安装依赖

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

Java代码  收藏代码
  1. composer install  
  2. composer update  

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

Java代码  收藏代码
  1. php composer.phar install  

自动加载

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

Java代码  收藏代码
  1. require 'vendor/autoload.php';  

 下载安装成功界面

 

Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。

Composer中文网http://www.phpcomposer.com/

Composer Github项目:https://github.com/composer/composer

PHP Composer软件包列表:https://packagist.org/

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章