今天突然发现一个不错的php http客户端库guzzle,欣喜不已,跃跃欲试。打开guzzle文档,发现需要composer做依赖管理。之前没有接触过composer,正好以此学习下,也蛮好!

本文就口水一下composer安装,使用。

安装

官网下载页 提供了windows下两种安装方法,安装包和命令行,奈何本机安装过程很卡,可以说龟速啊,原因不明,网上很多都反映慢。只好直接在下载页的下方点击下载composer.phar文件了,文件下载完放在php.exe路径下即可。

cmd键入"php.exe composer.phar"回车,即可显示帮助信息,很直观明了。期中很有用的几个命令我粘贴下,以备之后查看:

//查看帮助
php.exe composer.phar
//生成composer.json并安装guzzle
php.exe composer.phar require guzzlehttp/guzzle:~6.3
//按照已存在的composer.json安装
php.exe composer.phar install
//更新json中的依赖
php.exe composer.phar update
//更新composer版本
php.exe composer.phar self-update
//更新仓库地址
php.exe composer.phar config repo.packagist composer https://packagist.phpcomposer.com

 使用

文档里说的很模糊,我这新手摸不着头脑,简直浪费时间。

这里分为好几种情况:已存在json文件,不存在json文件。

比如在一个已经存在composer.json文件的项目下,需要新安装一个依赖,直接使用“php.exe composer.phar require guzzlehttp/guzzle:~6.3“的话会update该json文件,然后自动安装,这可能对其他已安装的依赖有影响,比如更新到新版本。这时候可以把原来json文件删了,再执行以上命令,会在当前目录下新生成一个json文件,接着自动安装。

如果不存在json文件,执行“php.exe composer.phar require guzzlehttp/guzzle:~6.3”可以自动生成;或者自己手写一个json文件配置依赖关系,然后执行“php.exe composer.phar install”命令。

安装好后,当前目录自动生成lock文件,/vendor子目录,该目录存放/composer目录guzzle库及autoload.php文件等等。项目里想使用guzzle库,则可以先在引导文件

require 'vendor/autoload.php'设置自动加载命名空间,接下来才可以正常使用guzzle库。

注意:我曾经把一个完整的库放在/vendor下,但是项目里不能用找不到某某类,就是因为/vendor/composer/下的加载文件里没有我的库路径。每次composer执行后都会更新/vendor/composer/该目录下的文件内容,以保持内容同步。

参考

composer中文文档 包括使用文档,镜像,包列表,下载等

composer官网

使用composer进行依赖管理:以guzzle为例的更多相关文章

  1. Composer PHP 依赖管理工具

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

  2. composer php依赖管理工具

    #composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. composer出现之前我们php项目依赖管理大部分都是手动 ...

  3. PHP之Composer类库依赖管理神器

    Composer中文版说明见:https://github.com/kaka987/Composer-zh Composer 是PHP的类包依赖管理工具,用它可以轻松的引用第三方类包,类似于node的 ...

  4. Composer PHP依赖管理的新时代

    安装Composer Composer需要PHP 5.3.2+才能运行. $ curl -sS https://getcomposer.org/installer | php 这个命令会将compos ...

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

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

  6. Composer : php依赖管理工具

    原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...

  7. PHP的依赖管理工具----composer

    安装Composer 参考:https://getcomposer.org/doc/01-basic-usage.md composer 是PHP依赖管理工具 PHP最低版本要求5.3.2,需要允许o ...

  8. 有用PHP依赖管理工具Composer新手教程

    PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...

  9. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

随机推荐

  1. 【5】JVM-垃圾收集器

    通过学习了解到现在商用的JVM中的垃圾收集采用的是分代收集算法,即针对不同年代采用不同的收集算法.在JVM中,GC主要作用于堆内存中,堆内存又被划分为新生代和老年代,由于新生代对象绝大多数是朝生夕死, ...

  2. Android---如何返回上一Activity

    Android 代码用来返回上一个activity 调用onKeyDown()时发生java.lang.NullPointerException. 来自:CSDN博客推荐文章   |  时间:2012 ...

  3. JUnit套件测试实例

    “套件测试”是指捆绑了几个单元测试用例并运行起来.在JUnit中,@RunWith 和 @Suite 这两个注解是用来运行套件测试. 下面的例子演示这两个单元测试:JunitTest1 和 Junit ...

  4. e809. 在菜单中使菜单项分开

    A separator typically appears as a horizontal line. It is used to group related sets of menu items i ...

  5. 浅析Android Camera开发中的三个尺寸和三种变形 (贡献一个自适配Picturesize和Previewsize的工具类)

    转至 (http://blog.csdn.net/yanzi1225627/article/details/17652643) 经常听人问Camera开发中,各种变形问题,今天有空就在此梳理总结下. ...

  6. Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏

    这几天,网上传来一个消息,虽然不知是好是坏,Win10可以下载安装了! 出于好奇,下载尝鲜,几个截图,留作纪念~ 中文,还是要好好支持的,毕竟中国有如此多的用户 可选的安装版本 许可条款也刚刚出炉,估 ...

  7. C# 使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕

    using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Collections.Generic; using System.T ...

  8. 绝对震撼 10个实用的jQuery/HTML5插件

    在HTML5的世界里,我们见证了无数的特效奇迹,但很多特效我们很难在网页中应用,今天我们要分享10款效果震撼但是又比较实用的jQuery/HTML5插件,希望这些项目在应用的过程中也能给你带来设计灵感 ...

  9. windows上開啟多個apache服務器

    1.安裝apache(這裡我用的是集成環境) 比較php版本 5.6  與 7.2 比較mysql版本 拓展: 注意:對個不同的版本的mysql,命令行進入,需要指明端口號,如:mysql -uroo ...

  10. iOS : 判断运行设备类型是否是iPad

    以下代码由 CocoaChina 版主 “cclv” 分享,可用于判断应用运行的设备是否是 iPad #define isPad (UI_USER_INTERFACE_IDIOM() == UIUse ...