1. composer 作用以及基本原理简介
  2. composer 如何使用  and 具体原理详解

composer 作用以及基本原理简介

composer 是一个第三方代码库的整体管理工具 像是 centos上面的yum 方便来安装各个版本的软件 , composer就使是用来方便我们下载 更新 指定版本的第三方代码库(如smarty)

基本工作原理如下面这张图 更详细的说明在这里 http://www.phpcomposer.com/

(packagist 同样会存储一些github上各个版本的代码作为缓存 可以省去请求下载 github文件的麻烦)

composer 如何使用

从上面的图可以看出来我们安装的 composer 的目的说简单点就是自动下载代码 从 (https://packagist.org/ 或者 http://github.com)

但是本地如何安装呢?

有软件安装的方法 在这里 点击打开链接      由于软件安装的方法容易出现问题 , 加之本文着重说明composer的原理 采用手动安装的方式来讲解

1、下载composer代码

2、同级目录创建 composer.json 文件

3、通过php执行composer代码(composer使用php写的)读取composer.json 中的文件并下载指定库 指定版本 到 指定文件夹

php执行composer的命令可以写成 bat脚本(win平台),添加脚本路径到环境变量 path ,命令行可以直接执行 composer 命令来使用composer (添加path 自行google, cmd命令set path 的方式是临时修改 所以务必通过计算机右键 属性 的方式修改)

我们已经知道 composer是php写出来的一个脚本 所以第一步我们要下载composer的php源代码   然后通过 php 来执行composer源代码 就可以使用了

composer源代码下载地址  点击打开链接

下载下来是一个 名叫 install 的文件 很多文章写的下载下来是 一个叫  composer.phar 的文件, 不要奇怪 , 我们知道 composer是php写的 所以无论文件叫什么名字 代码只要正确就能执行

打开你下载的文件看下源码 果然是 php   搜索下  file_get_content 这个函数 的确是有几个,这里就是下载源代码的php实现   composer.phar 是一个约定熟成的命名 我们可以将他重命名 然后放在一个文件夹下面

这时候我们在当前文件夹打开cmd 执行 php composer.phar 就可以使用composer

这时候你会发现comoser.phar 没有了 , cmd上显示的是 download...     这时候是要重现下载 composer.phar 文件 设置其中的各个配置项 这个才是真正的composer源代码 之前下载 的 install 只是一个php写的安装器

但是每次这么用太麻烦  将命令写到一个composer.bat 脚本 并将这个脚本所在目录添加到环境变量 path中 , 需要用composer 的地方 直接打开cmd执行命令  composer install 就会自动根据当前文件夹下的 composer.json 文件自动下载代码包

当前目录执行下面命令

@echo off php "%~dp0composer.phar" %* > composer.bat

解释下 win 下面的脚本语法

echo off 是关闭回显 就是不显示输出内容到cmd(无关紧要)

php "%~dp0composer.phar" %* > composer.bat   是创建一个文件文件名是 > 右边的,然后将 左边的内容写入到右边文件

也就是 bat 脚本里面的脚本代码是  php "%~dp0composer.phar" %*

这里分三个部分 第一部分是 php 就是执行php解析   第二部分 是 "%~dp0composer.phar"     这个是php要执行的文件名称  第三部分是参数 %* 表示任一个参数

%~dp0 是代表脚本所在的文件路径 (d -> drive p -> path)

添加脚本 composer.bat 文件夹路径到 path 就可以了

然后是 composer.json 文件格式 如下

{"require": {"monolog/monolog": "1.0.*"}
}

require : {

"代码库名称"  : "版本"

}

具体请看这里  点击打开链接

packagist 中国镜像地址修改

composer config -g repo.packagist composer http://packagist.phpcomposer.com

具体看这里

http://pkg.phpcomposer.com/#composer-mirror

composer 详解相关推荐

  1. composer详解

    一.composer简介 什么是Composer Composer 是 PHP 的一个依赖管理工具,它涉及 "packages" 和 "libraries",简 ...

  2. composer init 命令详解

    前言 今天安装了node,准备用npm 下载项目所需要的依赖包 由于本人英语不太好,在执行 composer init 命令后,凭借着经验知道需要输入什么信息,但还是不太明白,也了解软件人性化的地方, ...

  3. php reactphp wss_workerman的基本用法(示例详解)

    workerman是什么? Workerman是一个异步事件驱动的PHP框架,具有高性能,可轻松构建快速,可扩展的网络应用程序.支持HTTP,Websocket,SSL和其他自定义协议.支持libev ...

  4. 详解OS X和iOS图像处理框架Core Image

     详解OS X和iOS图像处理框架Core Image width="22" height="16" src="http://hits.sinaj ...

  5. [转]HTTP协议之状态码详解

    HTTP协议之状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果是做AJ ...

  6. Fiddler抓包6-get请求(url详解)

    前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...

  7. Android VCard联系人备份恢复(导入/导出)详解

    原文地址为: Android VCard联系人备份恢复(导入/导出)详解 首先我们简单的看下在Android中联系人的存储结构. 工作环境:android 2.3.3 联系人的主要数据存放在raw_c ...

  8. php carbon详解,详解PHP使用日期时间处理器Carbon人性化显示时间

    详解PHP使用日期时间处理器Carbon人性化显示时间 本文介绍了PHP使用日期时间处理器Carbon人性化显示时间,分享给大家,具体如下: 可以通过 Composer 很方便的来安装 Carbon ...

  9. Android设备扫描机制详解

    Android设备扫描机制详解 本文基于Android pie,对Android的设备扫描机制做一个全面的解析,由于本人掌握的知识有限,如有讲错的地方还请大家指出来. Android提供了一套扫描机制 ...

最新文章

  1. C:拷贝函数write()fwrite()
  2. Python实现堆排序
  3. python列表嵌套元组拆分,将包含整数和字符串的列表转换为嵌套元组Python
  4. 如何使用数据质量服务和SQL Server集成服务清除数据
  5. Linux GPIO键盘驱动开发记录_OMAPL138
  6. atomic_fetch_add
  7. 程序员必须掌握的十大经典算法
  8. 【Unity】【Odin Inspector】关于AOT Generation
  9. 魅族开售跳票,创饥饿营销新高度?
  10. 计算机网络-路由器和交换机的区别
  11. 优秀工程师应该具备哪些素质_作为现代工程师应具备的素养
  12. 某百度程序员:每天十点上班,午休两小时,每天闲逛,晚上八点就下班!
  13. 淘宝直播小窗如何开启?怎么免费引流?
  14. Git-回退到指定版本
  15. 编程之美 1.8 小飞的电梯调度算法
  16. 什么是云效 Projex,云效Projex企业级高效研发项目管理平台
  17. 小程序生成统一支付prepay_id相关配置和类介绍
  18. c语言初学者学习所需软件
  19. Service References和Web References的引用
  20. 3.21第四周作业 设备选型

热门文章

  1. 读《黄自元间架结构九十二法》
  2. 区块链实战(一)实现简单的区块与区块链交易
  3. 2015年春节联欢晚会节目单
  4. GO 工作区和GOPATH
  5. SQL Server—T-SQL编程
  6. 使用python3.7中的scrapy框架,爬取起点小说
  7. Ubuntu18.04 ifconfig命令找不到
  8. 27岁程序员转职赏金猎人:一个漏洞10万美元,比工资香多了
  9. 线性空间,线性子空间,基与维数
  10. 营收倍数级增长,利润却止步不前!光庭信息只有一只脚踏进了智能电动车风口?...