依赖管理

Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例如vendor)。默认情况下它不会以全局的方式安装任何东西。因此,它是一个依赖管理器。

这个想法并不新鲜,Composer的灵感是来自于node的npm和ruby的bundler。但是目前PHP还没有一个这样的工具。

Composer解决的问题是:

a) 你有一个依赖N多库的项目。

b) 这些库中一些又依赖于其他的库。

c) 你声明你所依赖的库。

d) Composer找出哪些包的哪个版本将会被安装,然后安装它们(也就是把它们下载到你的项目中)。

声明依赖关系

假设你正在创建一个项目,然后你需要一个日志操作的库。你决定使用monolog。为了把它加入到你的项目中,你需要做的就是创建一个名为composer.json的文件,其描述这个项目的依赖关系。

{

"require": {

"monolog/monolog": "1.2.*"

}

}

我们简单的描述说我们的项目依赖某个monolog/monolog包,版本只要是以1.2开头的就行。

系统要求

Composer需要PHP 5.3.2+才能运行。一些灵敏的PHP设置和编译选项也是必须的,不过安装程序(installer)会警告你任何不兼容的地方。

如果想要从源码而不是简单的从zip压缩包中安装软件包的话,你将需要git,svn或者hg,这依赖于软件包是通过什么进行版本控制的。

Composer是兼容多平台的,并且我们力争使其在Windows,Linux和OSX上的运行无差异。

安装 - *nix

下载Composer可执行程序

局部安装

为了获取Composer,我们需要做两件事。第一个是安装Composer(前面说过了,这意味下载它到你的项目中):

$ curl -sS https://getcomposer.org/installer | php

这只会检查一些PHP设置,然后下载composer.phar到你的工作目录中。这个文件是Composer二进制文件。它是一个PHAR (PHP archive),PHP的归档格式,也可以像其他命令一样在命令行上运行。

你可以使用--install-dir选项,并且提供一个目标目录(可以是绝对或者相对路径)从而把Composer安装到一个指定的目录:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全局安装

你可以把这个文件放到任何你想放的地方。如果你把它放到你的PATH中,你就可以全局访问它了。在类unix系统中你甚至可以使它可执行,并且调用的时候不需要php。

你可以执行这些命令从而能够在你的系统上简单的访问composer:

$ curl -sS https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

然后,只需要执行composer命令来运行Composer,而不是php composer.phar。

安装 - Windows

使用安装程序

这是在你的机器上安装Composer最简单的方法。

下载并运行Composer-Setup.exe,它将会安装最新的Composer版本并且设置好PATH,然后你就可以在命令中的任何目录下调用composer了。

手动安装(推荐手动安装)

切换到一个存在于PATH环境变量中的目录,然后执行安装代码片段来下载composer.phar:

C:\Users\username>cd C:\bin

C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

创建一个新的以.bat结尾的composer文件:

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

关闭你当前的终端。打开一个新的终端测试一下:

C:\Users\username>composer -V

Composer version 27d8904

C:\Users\username>

使用Composer

我们接下来要使用Composer来安装项目的依赖。如果你在当前目录下没有一个叫作composer.json的文件,请跳到基本使用章节。

为了解决并下载依赖,运行install命令:

$ php composer.phar install

如果你是全局安装,并且目录下没有phar文件,那么运行这个:

$ composer install

如果是上面的例子,这个操作将会下载monolog到vendor/monolog/monolog目录。

自动加载

除了下载库之外,Composer也会创建一个自动加载文件,这个文件能够自动加载Composer下载的库中所有的类。如果想使用它,只需要在你代码启动的地方加上如下代码:

require 'vendor/autoload.php';

哇哦!现在开始使用monolog吧! 如果想进一步学习Composer,继续阅读「基本使用」章节。 如果想要找需要的package,到Packagist。

php 启动管理工具下载,PHP管理工具compser windows下安装相关推荐

  1. python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  2. windows 下安装Chocolatey(强大的软件包管理工具)

    在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境. Chocolatey 的哲学就是完全用命令 ...

  3. rocketmq安装,内存配置,各种命令说明,windows下安装,控制台工具

    1修改内存大小 以下只是设置实例: cd /home/bigdata/installed/rocketmq-all-4.2.0 (140机器) vim bin/runserver.sh (调整name ...

  4. Windows下安装自动化部署工具Fabric

    Windows下安装自动化部署工具Fabric 部署应用程序用FTP还是SCP还是rsync复制文件?如果你需要手动复制,用一次两次还行,一天如果部署50次不但慢.效率低,而且容易出错. 正确的部署方 ...

  5. windows下安装node版本管理工具及nvm use切换不成功问题解决

    windows下安装node版本管理工具及nvm use切换不成功问题解决 参考文章: (1)windows下安装node版本管理工具及nvm use切换不成功问题解决 (2)https://www. ...

  6. 在windows下安装python包管理器pip及使用

      从来没有在Windows下用过pip,今天试了下,原来pip也可以在Windows下安装,使用也和Linux下一样简单. 先从下面的地址下载pip源码: http://pypi.python.or ...

  7. php图文安装教程,windows下安装php开发环境详细教程(附下载链接)

    本篇文章为大家详细介绍一下windows下安装php开发环境的流程,建议初学者使用集成环境开发php,以免失去学习兴趣. 推荐集成环境下载地址:php集成环境下载 windows下安装php环境流程: ...

  8. mysql server安装不成功,解决Mysql5.7.17在windows下安装启动时提示不成功问题

    在机器上首次安装MySQL, 操作系统是win7 mysql 的安装文件是 zip 格式的,版本是5.7.17 解压之后,安装步骤是 1.首先找个文件存放这些安装程序以及 数据 假设是E:\\mysq ...

  9. windows下安装wget进行远程下载

    windows下安装wget进行远程下载 学习记录: 1.下载wget安装包        https://jaist.dl.sourceforge.net/project/gnuwin32/wget ...

最新文章

  1. 后盾网lavarel视频项目---lavarel多表关联一对多操作实例
  2. 文件共享服务器地址格式,文件共享服务器配置
  3. C++三大继承与多级派生
  4. 运行项目报错invalid notify_url
  5. 液晶显示屏怎么显示泰文_什么是LCD液晶显示屏
  6. paip.c++ tree parse tpath解析器
  7. 用友中标:打造新一代云化ERP 落地大型企业互联网+
  8. 3dmax加载las数据
  9. 磁盘转换:电脑动态盘转换基本盘怎么操作?
  10. Couchbase集群
  11. Automating Android with Ant
  12. 【保研】2021南京大学计算机夏令营笔试面试笔记
  13. PS 如何制作Vista的毛玻璃效果
  14. 小米雷军打出王炸,始料未及的华为余承东一下子懵了
  15. python实现简单的图书管理系统
  16. 使用SpringBoot一小时快速搭建一个简单后台管理(后端篇)
  17. Android百度地图短链分享的使用
  18. 不忘初心 牢记使命 拉卡拉支付积极履行社会责任
  19. vue 移动端H5微信支付和支付宝支付
  20. 使用bigdecimal来保留小数

热门文章

  1. 最新 IntelliJ Idea 2017 激活方法(转)
  2. Android 使用代码设置selector 的图片或文字颜色
  3. Java文件下载中文名不显示乱码
  4. SecureCRT使用小技巧
  5. [xcode]instruments来检验你的app
  6. 透过WebGL 3D看动画Easing函数本质
  7. mysql 索引扩展
  8. 研究cegui,写脚本
  9. 制作了一个WMI 查询分析工具
  10. hive与hbase数据类型对应关系