位置: 编程技术 - 正文

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做登录界面连接数据库)

  • 个人所得税的计提和缴纳分录怎么做
  • 减免增值税计入
  • 一般纳税人机电安装服务费税率是多少
  • 采用直接转销法会在一定程度上高估了应收款项
  • 没有发票可以先报销吗
  • 兼职人员的差旅费怎么算
  • 应征增值税不含税销售额(3%征收率)怎么填2020年
  • 医院收费单能当凭证用吗
  • 固定资产一次性折旧的账务处理和税务处理
  • 免税商品销售要缴税吗
  • 增值税普通发票可以抵扣进项税吗
  • 一般纳税人销售旧货
  • 税种案例分析
  • 新个税过了申报期怎么办
  • 购销合同的会计分录怎么写
  • 没有发票的房租调增金额怎算
  • 购进农产品再销售
  • 个体工商户和小微企业的区别
  • 公司购买空调计入什么费用
  • 公司过户费用怎么入账
  • 被收购企业会提出什么条件
  • vue 模拟遥控按钮
  • 如何失业保险金
  • 公司买发票的费用怎么做账
  • windows7旗舰版最新版本
  • 注册造价师挂靠费怎么缴纳个税
  • 可抵免境外所得税税额
  • 银行本票存款和银行存款的区别
  • laravel实战教程
  • 以权益结算的股票
  • 准公益性企业
  • 微信小程序开发零基础入门
  • 解决脱发的8个方法
  • 深度学习的通道到底是什么?有什么用?(小白可看)
  • yolov5目标检测流程图
  • 销售黄金的消费税
  • 土地出让金返还比例是多少
  • 用chatgpt写insar地质灾害的论文,重复率只有1.8%,chatgpt4.0写论文不是梦
  • 英雄联盟轮转模式2020时间表
  • yii框架搭建
  • php对象是值传递还是引用传递
  • mysql封装函数
  • 印花税账务处理会计分录
  • 火车票的进项税率
  • 建筑工程拨款流程
  • 洗浴报销票子怎么写
  • 企业所得税退税如何进行账务处理
  • wordpress限制下载次数
  • 减免增值税优惠政策
  • 偿还银行贷款利息计算
  • 内资企业如何进国企
  • 税控服务费全额抵扣申报怎么填
  • 伙食费怎么入账
  • 开具劳务发票需要哪些资料?
  • 事业单位利息收入的正确分录
  • 利息收入应该填什么科目
  • 支付货款退回如何处理
  • 土地补贴款是什么意思
  • 普通发票作废如何操作
  • 工程结束发票未开全怎么办
  • 主营业务毛利率和毛利率
  • 工业企业增值税税率
  • mysql优化配置文件
  • sqlalchemy merge
  • ubuntu火狐浏览器怎么改成中文
  • ubuntu 12.04安装
  • apache服务器配置与使用工作笔记
  • win7 win10 win8
  • Eclipse和AndroidStudio常用快捷键对比
  • python中的变量赋值
  • android的ui组件有哪些
  • android 自定义spinner
  • 国际货运怎么代理
  • 税务局通知自查该怎么办理
  • 成都水费查询系统
  • 税务关系转移社保怎么办理
  • 互联网新闻信息服务提供者为用户提供互联网新闻
  • csc联合培养博士资助标准
  • 江苏单位医保如何查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设