今天突然发现一个不错的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. struts2系列(一):struts2入门(struts2的产生、struts2的工作流程、搭建struts2开发环境)

    一. struts2的产生 struts1的缺点:                         1. ActionForm过多,而且这个ActionForm在很大程度上又和VO(POJO)重复  ...

  2. C#提高------------------------Attribute自定制概念

    C#基础知识梳理系列八:定制特性Attribute   摘 要 设计类型的时候可以使用各种成员来描述该类型的信息,但有时候我们可能不太愿意将一些附加信息放到类的内部,因为这样,可能会给类型本身的信息描 ...

  3. (转) UDP包的大小与MTU

    在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对像ICQ一类的发送聊天消息的情况作分 ...

  4. Android多任务切换与Activity启动模式SingleTask之间关系的分析

    这里会以多个场景列子进行分析,在分析之前先了解一下基本的概念. Task任务:一系列Activity的集合,这些Activity以栈的形式进行排列(后进先出). 那在什么时候系统会新建一个Task任务 ...

  5. Android Jsoup 爬取网页数据

    一不小心一个月又过去了,事实上近期还是小忙小忙的,废话不多说.直接进入今天的主题吧. Jsoup – Java HTML Parser, with best of DOM, CSS, and jque ...

  6. C# EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

  7. server2008,本机可以登录ftp,其他机器登录不了解决办法。肯定是防火墙的问题

    转自http://kkworms.blog.51cto.com/540865/558477 今天在windows server 2008 R2上安装了FTP,安装过程如下,然后添加内置防火墙设置,设置 ...

  8. Spring cloud consul 相关前提知识

    Spring boot .vs.  Spring mvc  spring boot extends spring mvc extends spring Spring Boot uses Spring ...

  9. T4生成多文件时,不生成自己

    如:我用的网上的生成多文件的一个include文件. 生成多文件时,默认会生成一个以自己名字命名的文件如: 有一个demo.tt文件,生成时会出来一个demo.cs文件(默认情况下) 解决方法: Fo ...

  10. Docker命令之 search

    docker search : 从Docker Hub查找镜像 语法 docker search [OPTIONS] TERM OPTIONS说明: --automated :只列出 automate ...