位置: 编程技术 - 正文

composer.lock文件的作用(composer.json和composer.lock)

编辑:rootadmin

推荐整理分享composer.lock文件的作用(composer.json和composer.lock),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:lock common,.lock文件怎么打开,composer文档,lock properties,compulocks,composer文档,composer lock,compulocks,内容如对您有帮助,希望把文章链接给更多的朋友!

Composer的基本使用

在项目中使用composer.json

在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。

require 关键字

第一件事情在composer.json就是使用require关键字了,你将告诉composer哪些包是你项目所需要的

如你所见,require的对象将会映射包的名称( monolog/monolog)和包的版本是1.0.*

包的命名

基本上包的命名是 主名/项目名称( monolog/monolog),主名必须唯一,但是项目也就是我们的包的名称可以有相同的,例如: igorw/json,和seldaek/json

包的版本

我们需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.

版本定义的两种方式:

1. 标准的版本:定义保准的版本包文件,如:1.0.. 一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>, >=, <,<=, !=3. 通配符:特别的匹配符号*,例如1.0.*就相当于>=1.0,<1.1版本的即可4. 下一个重要的版本:~符号最好的解释就是,~1.2就相当于>1.2,<2.0,但~1.2.3就相当于>=1.2.3,<1.3版本。

安装包

在项目文件路径下运行

这样子他会自动下载monolog/monolog文件到你的vendor目录下面。

接下来需要说明一件事情就是

composer.lock - 锁定文件

在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。

使用composer.lock(当然是和composer.json一起)来控制你的项目的版本

这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。

如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件

这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。

composer.lock文件的作用(composer.json和composer.lock)

$ php composer.phar update或者$ composer update

Packagist(这应该就是composer,感觉有点像python的包,虽然没那么强大,呵呵,有了这种标准以后,以后大家开发网站绝对会很轻松,可以借鉴很多人的代码了,并且更加方便了!)Packagist是composer的主要仓库,大家可以去看看,composer仓库的基础是包的源码,你可以随意的获取,Packagist的目的建成一个任何人都可以使用的仓库,这就意味着在你的文件中任意的require包了。

关于自动加载

为了方便的加载包文件,Composer自动生成了一个文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方require 'vendor/autoload.php';

这意味着你可以非常非常方便的使用第三方代码了,假设你的项目需要使用monlog,你直接使用吧,他们都已经自动加载了的!

当然你也可以在composer.json中加载自己的代码:

composer将会把psr-0注册为Acme的命名空间

你可以定义一个映射通过命名空间到文件目录,src目录是你的根目录,vendor是同一级别的目录,例如一个文件为:src/Acme/Foo.php就包含了AcmeFoo类

当你在增加autoload之后,你必须要重新install来生成vendor/autoload.php文件

在我们引用此文件的时候,将会返回一个autoloader类的实力,所以你可以把返回的值放入一个变量,然后在增加更多的命名空间,如果在开发环境下这是非常方便的,例如:

composer.lock文件的作用

install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。

为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。

这将解决项目的所有依赖,并将确切的版本号写入 composer.lock。

如果你只是想更新几个包,你可以像这样分别列出它们:

你还可以使用通配符进行批量更新:

PHP预定义变量9大超全局数组用法详解 1、$_SERVER$_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不同,$_SERVER中的变量值

PHP中常用的数组操作方法笔记整理 概述要访问一个变量的内容,可以直接使用其名称。如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。像其他变量一样

简单理解PHP的面向对象编程方式 与大多数可以面向对象的编程语言不一样,PHP是同时支持面向过程和面向对象的编程方式,PHP开发者可以在面向过程和面向对象二者中自由选择其一或

标签: composer.json和composer.lock

本文链接地址:https://www.jiuchutong.com/biancheng/274995.html 转载请保留说明!

上一篇:PHP编程入门的基本语法知识点总结(php编程入门教程)

下一篇:PHP预定义变量9大超全局数组用法详解(php自定义变量)

  • 税友的财务软件叫什么
  • 离职人员个税申报如何处理
  • 没有达到起征点的工资忘计申报个税,可以税前扣除吗
  • 黑盘报税流程视频教程
  • 甲供材能否开具增值税专用发票
  • 企业所得税纳税人包括哪些类型
  • 经营二手车怎么交税
  • 事业编人员贷款
  • 只有税控盘没有报税盘
  • 两所工资所得怎么扣税
  • 城市建设综合配套费征收管理办法
  • 在建工程的招待费计入到哪个科目
  • 应交税费是什么科目借贷方向
  • 营改增之前有增值税吗
  • 汇算清缴补交的税怎么做凭证
  • 货到票未到的会计账务处理
  • 涉农和中小企业贷款分类证明没有就不能进行税前扣除么
  • 销售不动产差额征收增值税
  • 分公司开票信息
  • 个人出租房屋给公司可以开专票吗
  • 销售使用过的板房如何缴税?
  • 试用期内进一步使用
  • 生产调试消耗原材料如何做账?
  • 土地使用税从什么时候开始算
  • 上月没交社保本人能交吗
  • 增值税发票遗失证明模板
  • 花语大全各种花的花语花树
  • 怎样开发票的具体步
  • 数字权利服务如何打开
  • 系统托盘右键
  • win10为什么每次开机都要输入微软密码
  • 强制关闭mac系统的快捷键
  • 小规模年底税金怎么算
  • 预付的房屋租赁费账务如何处理
  • 内部审计类型分为哪几种
  • 肚子胀气怎么办 4个方法快速排气很轻松
  • php定时执行代码
  • PHP:realpath_cache_size()的用法_Filesystem函数
  • nacos安装包
  • php进程数设置
  • 税收滞纳金的最新法律规定
  • 如何在Android中找到关闭的文件
  • html小游戏代码大全
  • mysql查找重复项
  • 存货盘点会计分录怎么做
  • 一次性伤残就业补助金
  • 差旅费过路费会计分录
  • 弥补以前年度亏损是季度申报的时候做吗
  • sqlserver2005创建表
  • 小微企业预缴所得税怎么填报
  • 餐饮管理公司如何收取管理费
  • 库存股的处理方式
  • 诉讼代理费计入成本吗
  • 现金折扣与商业折扣的计算
  • sql语句分号
  • winxp系统如何设置禁用磁盘检测功能
  • windows历代版本一览
  • mac怎么用浏览器
  • win7系统安装程序无法创建新的系统分区
  • win10拦截在哪里关
  • Mac通过AppleID登录窗口
  • win7系统玩英雄联盟
  • win7电脑无限蓝屏怎么解决
  • Tutorial 3: First Triangle
  • react either
  • 教女朋友学英语
  • javascriptfor循环九九乘法表
  • jquery写网页
  • angularjs和后端交互
  • javascript web开发
  • jquery中绑定和解绑的事件有哪些
  • 实现非常简单的英文
  • 卷烟批发环节的消费税税率
  • 企业员工可以放弃购买社保吗
  • 融资租赁利息是哪个科目
  • 江西省税务总局官网
  • 我国烟草税的税点是多少
  • 一般纳税人销售二手车增值税税率
  • 办理跨区域事项报验
  • 没有代理记账资质的公司从事代理记账业务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设