這篇文章將為大家詳細(xì)講解有關(guān)composer中容易被人忽略的知識(shí)點(diǎn)有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、青云譜網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1.composer 版本號(hào) ~ ^ *
(1) 包版本:*
{ "require": { "monolog/monolog": "1.0.*" } }
1.0.* 這表示任何從 1.0 開(kāi)始的開(kāi)發(fā)分支,它將會(huì)匹配 1.0.0、1.0.2 或者 1.0.20。
(2) 包版本:~
~1.2 相當(dāng)于 >=1.2,<2.0, 即 1 版本,匹配前1 位 1.
~1.2 只意味著 .2 部分可以改變,但是 1. 部分是固定的。
(3) 包版本:^
^1.2.3 相當(dāng)于>=1.2.3 <1.3 即匹配前2 位 1.2
2.composer install
(1)如果已經(jīng)存在composer.lock時(shí),讀取composer.lock下載依賴(lài)。
(2)如果沒(méi)有 composer.lock 文件,讀取 composer.json 文件,處理依賴(lài)關(guān)系,并把其安裝到 vendor 目錄下。
也就是說(shuō)本地有一份composer.lock,你就可以保證無(wú)論過(guò)去了多久,你都能拉到相同的依賴(lài)。
所以應(yīng)該把 composer.lock 放到 git 版本庫(kù)中,這樣可以確保你項(xiàng)目中的每一個(gè)人、每一臺(tái)電腦,不管什么系統(tǒng),都能拉取到一模一樣的依賴(lài),以減少潛在的依賴(lài)對(duì)部署的影響。
3.composer update
讀取composer.json中指定的依賴(lài),然后拉取依賴(lài)放入vendor目錄下,并且把所有拉取依賴(lài)的確切的版本號(hào)寫(xiě)入composer.lock文件中。
(1)那么什么時(shí)候需要使用composer update呢?
比如某擴(kuò)展發(fā)布的新版本有我們需要的新功能時(shí),這時(shí)我們需要更新該擴(kuò)展,我們update時(shí)指定具體更新的擴(kuò)展名,如composer update package 而不要直接composer update。因?yàn)橹苯觕omposer update后,所有的擴(kuò)展都會(huì)更新,風(fēng)險(xiǎn)很大。
4.總結(jié):
(1)composer update 根據(jù)composer.json來(lái)更新的,并把擴(kuò)展的版本號(hào)寫(xiě)入到composer.lock中。
(2)composer install 根據(jù)composer.lock來(lái)更新的
(3)開(kāi)發(fā)過(guò)程中 少用 composer update ,應(yīng)該用 composer install
(4)如果新加一個(gè)包,可以使用:composer require "包名:版本號(hào)"
關(guān)于“composer中容易被人忽略的知識(shí)點(diǎn)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。