位置: 编程技术 - 正文

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

  • 建筑企业交税流程
  • 企业所得税减免税额包括哪些
  • 无形资产价值评估收费
  • 收付实现制有应收应付吗
  • 小微企业利润表模板
  • 季度利息分录
  • 投资子公司亏损如何入账
  • 高管个人所得税政策
  • 进项大于销项的会计分录怎么做?
  • 其他债权投资减值
  • 企业所得税预缴计算方法
  • 已抵扣进项怎么转出
  • 人力资源服务费税收编码
  • 增值税普通发票怎么开
  • 多开了一张电子发票怎么办
  • 个人发票增值税
  • 增值税专用发票可以开电子发票吗
  • 赠送的产品需要开发票吗
  • 油卡充值属于什么行业
  • 装修费用如何做分录
  • 接受政府无偿划拨固定资产税务处理
  • 地下人防设置要求
  • 变更经营范围要什么资料
  • 收到转账支票怎么填写凭证
  • 企业技术开发的原则
  • 员工退回多发的工资,是上缴国库还是财政专户
  • web课程设计网页
  • 一次性工伤医疗补偿金怎么算
  • 费用发票开的是跨年的账务处理?
  • 敬老院利润分析
  • 固定资产投资账务处理
  • 融资性售后回租和融资租赁的区别
  • post请求怎么用
  • 金融企业呆账核销管理办法
  • 前端file对象
  • 累计应缴预缴所得税怎么算
  • 延期交房补偿协议
  • springmvc常见问题
  • 不缴纳增值税
  • 已勾选确认的发票忘记填写怎么办
  • 企业购进商品支付货款时,实际发生现金折扣,应计入
  • java一维数组从小到大排序
  • mysql服务开不起来
  • mysql的基本介绍
  • 怎么保证发票是真的
  • 上月未结账本月不能结账
  • 资产负债表该怎么填写
  • 有限合伙企业成本费用抵扣
  • 物业公司的会计好干吗
  • 电商的优惠券怎么做账
  • 暂估入库价格是否含税
  • 行政划拨的土地有使用年限吗
  • 购买税控盘的账务处理
  • 合同法有什么规定
  • 主营业务成本为什么属于损益类科目
  • 无形资产摊销怎么做记账凭证
  • 增值税专用发票丢了怎么补救
  • 如何结转完工产品成本和已销产品成本
  • 支付劳务费需要什么原始凭证
  • sql只能查询数据,不能修改数据
  • 强制删除快捷键是什么
  • mysql随机选择
  • FreeBSD架? FTP
  • 系统占用90g怎么删
  • win10怎么设置net3.5
  • windows server 2012 r2关机在哪
  • win8系统怎么打开我的电脑
  • win10更新补丁后键盘失灵
  • perl-v
  • javascript密码强度
  • angular ...
  • 单例 python
  • android:testonly="true"
  • javascript运用
  • 北京市网上税务局(自然人版)
  • 怎么查其他公司的财务报表
  • 江苏4050社保补贴政策2024
  • 我国税务师事务所有哪些
  • 四川税收总额
  • 工商登记是实质性的吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设