免费国产美女一级A作爱播放免费,日本动漫精品一区二区三区,ⅩⅩ国产全无遮挡无码,国产精品无码视频2020

  • <delect id="1z9bx"><center id="1z9bx"><ruby id="1z9bx"></ruby></center></delect>

      1. <u id="1z9bx"><sub id="1z9bx"></sub></u>

      2. Composer的波浪線符號(hào)~和冪符號(hào)^到底有啥區(qū)別

        發(fā)布時(shí)間:2024-03-03
        下面由composer教程欄目給大家介紹composer的波浪線符號(hào)~和冪符號(hào)^的區(qū)別,希望對(duì)需要的朋友有所幫助!
        曾經(jīng)見過太多亂寫版本號(hào)的(其實(shí)現(xiàn)在比以前好很多了),好多 1.9.0 的下個(gè)版本必然是 2.0.0, 2.9.0 下個(gè)版本必須 3.0.0……主要還是因?yàn)橹皩?duì)版本號(hào)的命名就沒有規(guī)范,大家都是看心情寫。后來 semantic versioning 得到推廣,版本號(hào)取名的情況得到改善,但依然有很多人不知道三段式版本號(hào)是什么含義(各種培訓(xùn)學(xué)校你們教一下這些規(guī)范會(huì)死么……)。
        簡單來說(我也就是搬運(yùn)一下,上面提到的網(wǎng)站說的更清楚),三段式版本號(hào)各個(gè)段的含義是:
        大版本.小版本.補(bǔ)丁版本
        先說最明顯的補(bǔ)丁版本。如果你的軟件或者庫,之前有一些 bug 被修復(fù)了,此時(shí)補(bǔ)丁版本需要 1。
        再來說小版本號(hào)。如果你增加了新的功能,比如 rpg 游戲增加了自動(dòng)拾取東西,或者你的代碼庫里增加了一個(gè)新的方法,用戶升級(jí)了你的代碼庫也不會(huì)導(dǎo)致兼容問題(bc),那么小版本號(hào) 1。
        最后,如果你的軟件完全重構(gòu)了,或者你的代碼庫完全重構(gòu)以至于用戶升級(jí)了新的庫必然導(dǎo)致兼容問題,那么大版本號(hào) 1。
        當(dāng)然,還會(huì)有同時(shí)修改了 bug 并增加了功能的情況,總之如果前一位需要 1,無論何種情況后面的位數(shù)都必須清零。
        對(duì)于面向終端用戶的軟件,其實(shí)也用不著太嚴(yán)格,因?yàn)榻K端用戶也不太關(guān)心版本(除了大版本號(hào)……,所以出現(xiàn)了 chrome 風(fēng)格的版本號(hào),火狐也跟著帶壞……),但對(duì)于庫文件作者,還是遵守版本號(hào)的好,因?yàn)槟愣ǖ陌姹咎?hào),提供了很重要的信息給庫調(diào)用者,他們需要通過你的版本號(hào)來判斷是否要避免兼容性問題。
        舉個(gè)比較經(jīng)典的例子,雖然 symfony 2/3/4 用起來也都差不多,但是因?yàn)檫@三個(gè)版本之間已經(jīng)出現(xiàn)接口不一致的情況,所以大版本號(hào)必須得 1。如果你的庫文件有接口改變導(dǎo)致不兼容之前版本,哪怕只有一個(gè),也應(yīng)該將大版本號(hào) 1。
        而如果你用 symfony 3.0.x 開發(fā)了一些項(xiàng)目,即使直接升級(jí)到 3.4.x,理論上來說也是完全沒有問題的。
        說完三段式版本號(hào),再來說說一個(gè)比較困擾 phper 的問題,到底 composer.json 里指定版本號(hào)的 ^ 符號(hào)和 ~ 符號(hào)到底是什么意思?有什么區(qū)別?
        寫這篇博客之前其實(shí)我在百度上搜了一下,想知道相關(guān)的文章是否很多,這篇文章還值得寫否。搜索結(jié)果顯示也的確有人總結(jié)過。雖然大都只有一個(gè)例子:
        ~1.2.3 代表 1.2.3 <= 版本號(hào) < 1.3.0
        ^1.2.3 代表 1.2.3 <= 版本號(hào) < 2.0.0
        根據(jù)以上搬運(yùn)內(nèi)容,我再補(bǔ)充一點(diǎn)點(diǎn),~表示版本號(hào)只能改變最末尾那段(如果是 ~x.y 末尾就是 y,如果是 ~x.y.z 末尾就是 z),比如這種情況:
        ~1.2 等于 >=1.2.0; <2.0.0
        而 ^ 符號(hào),就跟上面說了那么多的 semantic versioning 有關(guān)系了,它表示盡量使用最新版本,但保證不產(chǎn)生兼容問題,換句話說也就是除了大版本號(hào)以外,小版本號(hào)和補(bǔ)丁版本號(hào)都可以變。
        但目前看來有一個(gè)很重要的細(xì)節(jié)大家都沒說到,在 semantic versioning 里,0 開頭的版本號(hào)是比較特殊的,而因?yàn)?^ 嚴(yán)格遵守 semantic versioning 規(guī)則,所以會(huì)出現(xiàn)以下情況(早先的 composer 版本并沒有這樣的處理,后來修正了):
        ^0.3.0 等于 >=0.3.0; <0.4.0
        咦?難道不應(yīng)該是 <1.0.0 嗎?
        究其原因,semantic versioning 的規(guī)定是,大版本號(hào)以 0 開頭表示這是一個(gè)非穩(wěn)定版本(unstable),如果處于非穩(wěn)定狀態(tài),小版本號(hào)是允許不向下兼容的!所以如果你要指定 0 開頭的庫那一定要注意:
        ~0.1 這種寫法是很危險(xiǎn)的,因?yàn)?~0.1 等于 >=0.1.0; <1.0.0,可能出現(xiàn)無法向下兼容的情況,比較保險(xiǎn)的寫法還是
        ^0.1(等于 >=0.1.0; <0.2.0)
        上一個(gè):RC0201DR-0743RL,0201 43Ω 0.5%電阻
        下一個(gè):iphone降級(jí)需要備份嗎(蘋果手機(jī)降級(jí)備份怎么恢復(fù))

        簡單認(rèn)識(shí)黑茶
        射頻導(dǎo)納液位計(jì)的特點(diǎn)
        惠普打印機(jī)2723和2721(惠普打印機(jī)2723和2720哪個(gè)好)
        德國tachsyn傳感器
        茶毫與茶葉品質(zhì)有什么關(guān)系?茶毫對(duì)茶湯品質(zhì)有影響嗎?
        微軟輸入法怎么卸載的步驟教程視頻(微軟輸入法怎么卸載的步驟教程圖片)
        中央空調(diào)超聲波流量計(jì)
        聯(lián)想開機(jī)鍵一閃一閃的開不了機(jī),電腦開不了機(jī)開機(jī)鍵的燈一閃一閃的
        交換性鋁
        工程造價(jià)控制原則