Composer 的学习
一、Composer简介
Composer 是PHP用来管理依赖关系的工具。
使用 composer 的必要前提有:
1、PHP版本要高于PHP5.3.2
2、PHP支持OpenSSL扩展
3、安装有Git 版本管理工具
二、Composer引入第三方类库的流程
开始 ---------> 在 Packjst 网站中找到所需依赖 -------> 使用 composer 安装 --------> 在项目中自动引入后直接使用 -------> 结束
三、Composer原理
Composer 工具除了内置了命令行管理,还整合了下载器、安装器。在项目中,开发者只需要通过命令输入要安装的依赖包,Composer会自动下载和安装。
四、Composer 命令

composer require 命令 增加新的依赖包到当前目录的 json 文件中
自动生成的目录结构:
项目根目录
- vendor 目录
- composer 目录
- 第三方类库目录
- ...
- autoload.php (自动加载的文件)
-composer.json 文件
-composer.lock 文件
1、composer.json 文件

require 定义了要引入的包名称(phpmailer/phpmailer)和版本号(^6.0)
获取包名可以用 composer search 命令,或者直接在 Packagist 网站上进行检索
默认安装的都是稳定版(stable),只需要在 composer.json 中添加 “minimum-stability” : “stable”
2、手动安装第三方包
更新composer.json 文件
composer.json文件格式是基于 JSON,要求比较严格,在手动更新前需要注意以下两点:
- 只支持双引号作为定义字符串
- 配置项最后一个不能有“,”符号
执行安装命令:
composer install
Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
3、composer.lock 文件
在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock文件,这将锁定该项目的特定版本。
执行composer install 命令时,会自动检查锁文件是否存在,如果存在,将它下载指定的版本(而会忽略composer.json 文件中的定义,如更新的版本号等)。
这样,当任何人建立项目时,都将下载 composer.lock 中记录的版本号。


若需要更新依赖的版本号,可以使用命令:
composer update

执行完毕后,查看composer.lock 文件中的版本号已经发生了变更。
Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file
五、提交自定义包到Composer
1、本地创建Composer 包
Composer的代码都是托管在 GitHub 上的,所以开发者需要对 Git 的操作比较熟悉,并且 Composer 本身对类库的提交也有一些辅助性的工具,可以减少开发者出错的几率。
操作过程主要有:
- 1、在GitHub 上创建应用仓库
- 2、使用Composer在本地初始化
- 3、在本地开发类库,并与Composer建立对应关系
- 4、提交到 GitHub 应用仓库
- 5、提交GitHub仓库地址到Packagist后完成发布
2、提交依赖包到Composer Packagist
- 1、推送本地代码到GitHub
- 2、提交到Packagist
- 3、发布正式版本
- 4、安装使用




Composer 的学习的更多相关文章
- php composer的学习之路(一)
composer的介绍请看这里 http://docs.phpcomposer.com/00-intro.html composer的安装过程我就不介绍了,windows系统下跟其他安装没区别,一直 ...
- Composer的学习
来自http://blog.sina.com.cn/s/blog_6262a50e0101b5ut.html 简介 composer是PHP中的一个依赖关系管理工具.只要(按指定格式)声明项目所依赖的 ...
- composer安装学习
Packagist 镜像 网站地址 http://www.phpcomposer.com/ 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 http ...
- composer的安装和使用 学习日志
如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...
- Yii2的相关学习记录,下载Yii2(一)
原先学习过Yii1的相关知识,虽然也是半懂不懂的,但稍微的结构是了解的.现在利用晚上的时间学习下Yii2的使用,打算建一个后台管理系统,这里记录下,以免自己以后忘记. 目前已看一部分Yii2的权威指南 ...
- composer Failed to decode zlib stream 无法解码zlib流
Win7 中安装 Composer (PHP) 国内有些网络不能访问美国的Composer官网,可访问 Composer 中文网 学习. 目标 可以在任何目录下的项目中执行 PHP composer. ...
- Composer 学习笔记
Composer 是 PHP 的一个依赖管理工具(据说是最优秀的).它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.目前很多项目以Composer 作为依赖管理工具,目前正在学习yii2 ...
- composer 学习资料
今天看了一下composer,前几天开始用包依赖,以前一直都是自己手动配.今天用了composer,要学习的话可以按照以下链接学习: 1 官方文档: http://www.phpcomposer.co ...
- composer 学习与推荐资料
今天看了一下composer,前几天开始用包依赖,以前一直都是自己手动配.今天用了composer,要学习的话可以按照以下链接学习: 1 官方文档: http://docs.phpcomposer.c ...
随机推荐
- LD_RUN_PATH和LD_LIBRARY_PATH是干什么的?
1. 使用场合 LD_RUN_PATH在链接时使用 LD_LIBRARY_PATH在执行时使用 2. 如何指定环境变量 export LD_LIBRARY_PATH=/opt/jello/lib:$L ...
- 【修改缓存路径】修改Gradle缓存路径的几种方式
起因 Android Studio的gradle在缓存处理上有时候会莫名其妙的出问题,必要时需要手动删除缓存,然后重新编译.有时也有出于其他考虑指定gradle缓存路径. 方法1:修改gradle文件 ...
- 【第四十章】Spring Boot 自定义拦截器
1.首先编写拦截器代码 package com.sarnath.interceptor; import javax.servlet.http.HttpServletRequest; import ja ...
- PL/SQL Developer几个使用小技巧
1.选中sql语句的当前行 鼠标连续点击所在行3次. 2.记住登陆密码 工具 -> 首选项 -> Oracle -> 登录历史,勾选“带口令存储”. 3.查看Oracle的tnsna ...
- P2617 Dynamic Rankings(带修主席树)
所谓带修主席树,就是用树状数组的方法维护主席树的前缀和 思路 带修主席树的板子 注意数据范围显然要离散化即可 代码 #include <cstdio> #include <cstri ...
- 洛谷P2637第一次,第二次,成交! 模拟?DP?
今天水来一天,就贴道水吧.. 原题>>https://www.luogu.org/problem/show?pid=2637<< 题目描述 因为奶牛们的节食运动(奶牛还节食?) ...
- 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强
如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先,事务MM03进入物料主数据的基本数据2视图中,将鼠标光标放在需要更改的字段“页格式”上,然后按F1键 ...
- PHP变量的值类型和引用类型
PHP 变量在内存中保存的并不直接是值的内容而是值的地址.比如: $a = 1; 从表面上看起来似乎是 $a 直接存储了 1 这个值.但是实际情况是,PHP 解释器创建了变量 $a , 将值 1 存入 ...
- JVM介绍
1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...
- Webpack+React项目入门——入门及配置Webpack
一.入门Webpack 参考文章:<入门Webpack,看这篇就够了> 耐心看完这篇非常有帮助 二.React+Webpack环境配置 参考文章:<webpack+react项目初体 ...