位置: 编程技术 - 正文

PHP 开发者该知道的 5 个 Composer 小技巧(php开发实战权威指南)

编辑:rootadmin

推荐整理分享PHP 开发者该知道的 5 个 Composer 小技巧(php开发实战权威指南),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php开发工程师是干嘛的,php开发实战权威指南,php的开发工具,php开发实战权威指南,php开发什么意思,php的开发工具,php开发实战权威指南,php的开发模式,内容如对您有帮助,希望把文章链接给更多的朋友!

Composer 是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。

1. 仅更新单个库

只想更新某个特定的库,不想更新它的所有依赖,很简单:

此外,这个技巧还可以用来解决“警告信息问题”。你一定见过这样的警告信息:

擦,哪里出问题了?别惊慌!如果你编辑了composer.json,你应该会看到这样的信息。比如,如果你增加或更新了细节信息,比如库的描述、作者、更多参数,甚至仅仅增加了一个空格,都会改变文件的md5sum。然后Composer就会警告你哈希值和composer.lock中记载的不同。

那么我们该怎么办呢?update命令可以更新lock文件,但是如果仅仅增加了一些描述,应该是不打算更新任何库。这种情况下,只需update nothing:

这样一来,Composer不会更新库,但是会更新composer.lock。注意nothing并不是update命令的关键字。只是没有nothing 这个包导致的结果。如果你输入foobar,结果也一样。

如果你用的Composer版本足够新,那么你可以直接使用--lock选项:

2. 不编辑composer.json的情况下安装库

你可能会觉得每安装一个库都需要修改composer.json太麻烦,那么你可以直接使用require命令。

这个方法也可以用来快速地新开一个项目。init命令有--require选项,可以自动编写composer.json:(注意我们使用-n,这样就不用回答问题)

3. 派生很容易

初始化的时候,你试过create-project命令么?

这会自动克隆仓库,并检出指定的版本。克隆库的时候用这个命令很方便,不需要搜寻原始的URI了。

4. 考虑缓存,dist包优先

最近一年以来的Composer会自动存档你下载的dist包。默认设置下,dist包用于加了tag的版本,例如"symfony/symfony": "v2.1.4",或者是通配符或版本区间,"2.1.*"或">=2.2,<2.3-dev"(如果你使用stable作为你的minimum-stability)。

dist包也可以用于诸如dev-master之类的分支,Github允许你下载某个git引用的压缩包。为了强制使用压缩包,而不是克隆源代码,你可以使用install和update的--prefer-dist选项。

下面是一个例子(我使用了--profile选项来显示执行时间):

这里,twig/twig:1..2的压缩包被保存在~/.composer/cache/files/twig/twig/1..2.0-v1..2.zip。重新安装包时直接使用。

5. 若要修改,源代码优先

当你需要修改库的时候,克隆源代码就比下载包方便了。你可以使用--prefer-source来强制选择克隆源代码。

接下来你可以修改文件:

当你试图更新一个修改过的库的时候,Composer会提醒你,询问是否放弃修改:

为生产环境作准备

最后提醒一下,在部署代码到生产环境的时候,别忘了优化一下自动加载:

安装包的时候可以同样使用--optimize-autoloader。不加这一选项,你可能会发现%到%的性能损失。

如果你需要帮助,或者想要了解某个命令的细节,你可以阅读官方文档或者中文文档,也可以查看JoliCode做的这个交互式备忘单。

PHP 开发者该知道的 5 个 Composer 小技巧(php开发实战权威指南)

原文地址:5 features to know about Composer PHP 译文地址:PHP 开发者该知道的 5 个 Composer 小技巧

Composer 是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。

1. 仅更新单个库

只想更新某个特定的库,不想更新它的所有依赖,很简单:

此外,这个技巧还可以用来解决“警告信息问题”。你一定见过这样的警告信息:

擦,哪里出问题了?别惊慌!如果你编辑了composer.json,你应该会看到这样的信息。比如,如果你增加或更新了细节信息,比如库的描述、作者、更多参数,甚至仅仅增加了一个空格,都会改变文件的md5sum。然后Composer就会警告你哈希值和composer.lock中记载的不同。

那么我们该怎么办呢?update命令可以更新lock文件,但是如果仅仅增加了一些描述,应该是不打算更新任何库。这种情况下,只需update nothing:

这样一来,Composer不会更新库,但是会更新composer.lock。注意nothing并不是update命令的关键字。只是没有nothing 这个包导致的结果。如果你输入foobar,结果也一样。

如果你用的Composer版本足够新,那么你可以直接使用--lock选项:

2. 不编辑composer.json的情况下安装库

你可能会觉得每安装一个库都需要修改composer.json太麻烦,那么你可以直接使用require命令。

这个方法也可以用来快速地新开一个项目。init命令有--require选项,可以自动编写composer.json:(注意我们使用-n,这样就不用回答问题)

3. 派生很容易

初始化的时候,你试过create-project命令么?

这会自动克隆仓库,并检出指定的版本。克隆库的时候用这个命令很方便,不需要搜寻原始的URI了。

4. 考虑缓存,dist包优先

最近一年以来的Composer会自动存档你下载的dist包。默认设置下,dist包用于加了tag的版本,例如"symfony/symfony": "v2.1.4",或者是通配符或版本区间,"2.1.*"或">=2.2,<2.3-dev"(如果你使用stable作为你的minimum-stability)。

dist包也可以用于诸如dev-master之类的分支,Github允许你下载某个git引用的压缩包。为了强制使用压缩包,而不是克隆源代码,你可以使用install和update的--prefer-dist选项。

下面是一个例子(我使用了--profile选项来显示执行时间):

这里,twig/twig:1..2的压缩包被保存在~/.composer/cache/files/twig/twig/1..2.0-v1..2.zip。重新安装包时直接使用。

5. 若要修改,源代码优先

当你需要修改库的时候,克隆源代码就比下载包方便了。你可以使用--prefer-source来强制选择克隆源代码。

接下来你可以修改文件:

当你试图更新一个修改过的库的时候,Composer会提醒你,询问是否放弃修改:

为生产环境作准备

最后提醒一下,在部署代码到生产环境的时候,别忘了优化一下自动加载:

安装包的时候可以同样使用--optimize-autoloader。不加这一选项,你可能会发现%到%的性能损失。

如果你需要帮助,或者想要了解某个命令的细节,你可以阅读官方文档或者中文文档,也可以查看JoliCode做的这个交互式备忘单。

原文地址:5 features to know about Composer PHP 译文地址:PHP 开发者该知道的 5 个 Composer 小技巧

PHP MYSQL实现登陆和模糊查询两大功能 本文使用的软件版本如下:PHP版本5.5.;MYSQL版本5.6.;Apache2.4.9用的wampserver一、PHPMYSQL实现登陆一共含有两个文件:login.php和logincheck.php;表单代码:form

PHP连接MSSQL方法汇总 为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将;extension=php_mssql.dll前面的;去掉1.连接MSSQL$conn=mssql_connect("实例名或者服务器IP","用户名"

PHP共享内存用法实例分析 本文实例讲述了PHP共享内存用法。分享给大家供大家参考,具体如下:共享内存主要用于进程间通信php中的共享内存有两套扩展可以实现1、shmop编译时

标签: php开发实战权威指南

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

上一篇:php session实现多级目录存放实现代码(php中session和cookie)

下一篇:PHP MYSQL实现登陆和模糊查询两大功能(php做登录界面连接数据库)

  • 汽车修理公司兼职好做吗
  • 商铺税费怎么算2021
  • CIA是指什么会计考试
  • 建筑业增值税税率2022
  • 专用发票超过360天认证期怎么办?
  • 形式发票需要签字盖章吗
  • 其他收益和营业收益
  • 零售业进销差价会计分录实例
  • 收到对方红字发票如何做账
  • 短期借款可以按币种设置明细核算
  • 增值税即征即退2023政策
  • 支票结算业务流程
  • 行政单位特殊人工手机电话费是否可以报销
  • 固定资产计提折旧的原则
  • 股权投资和债权投资的风险
  • 公司实行注册资本认缴制
  • 运输业过路费怎么做账
  • 未到期责任准备计入什么科目
  • 租金收入未收到 税法规定
  • 开公司后如何报个税申报
  • 税局代个人开增值税专票
  • 增值税电子普通发票开具规定
  • 财务软件中摊销怎么做账
  • 公司注销后股东主张债权的法律规定
  • 筹建期间的工资可以直接记到管理费用吗
  • 餐饮定额发票怎么征税
  • 出租包装物和出借包装物的摊销额
  • ai自动生成代码
  • 月末汇兑损益怎么算
  • 负债融资的特点是什么
  • 全网最详细的破解卡密软件教程[2021首发]
  • 小规模纳税人冲红发票怎么报税
  • 外贸企业出口免抵退
  • 残保金的会计处理
  • 赤狐 (© Yossi Eshbol/Minden Pictures)
  • thinkphp伪静态nginx
  • thinkphp版本区别
  • vuemvvm模式
  • 民办学校学费收入
  • 先款还是先票
  • 进口关税账务处理办法
  • php采集器
  • 特殊工种人身安全责任书
  • 挂靠车辆进项税额是否可以抵扣
  • 代收往来款的会计分录
  • 税控服务费减免会计分录
  • sql 文件存储
  • 无进项可以开票么
  • 工会经费计税依据是应发还是实发
  • 其他应收款和应收账款一样吗
  • 工会疗养费用怎么做账
  • 银行存款负数如何计算
  • 贸易公司的成本怎么做
  • 农民工工资专户销户流程
  • 企业应收账款的事前管理包括
  • 总公司是否可以注销分公司
  • 根据企业会计准则第11号规定,下列关于等待期
  • mysqldump -h
  • mysql 绿色版
  • win10隐藏文件怎么隐藏
  • win7登录密码怎么改
  • mac的itunes怎么下载歌曲
  • imac 2010 cpu
  • win7系统突然打印不了
  • win7 ping一般故障
  • win10注销是干嘛的
  • 在linux中使用什么命令可以给命令起别名
  • 关闭迅雷安卓版自动更新
  • win10周年版
  • 远程调试linux
  • ,linux
  • node的使用
  • javascript 基础篇4 window对象,DOM
  • Android---59---Toast的使用
  • js移动dom
  • 什么是质数
  • 国家税务总局好进吗
  • 国税地税征管体制改革方案全文
  • 机动车发票怎样开
  • 中医药文化进校园活动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设