1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      composer.lock文件的作用-創(chuàng)新互聯(lián)

      小編給大家分享一下composer.lock文件的作用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

      成都創(chuàng)新互聯(lián)公司專注骨干網(wǎng)絡服務器租用十年,服務更有保障!服務器租用,成都棕樹機房 成都服務器租用,成都服務器托管,骨干網(wǎng)絡帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務器。

      Composer的基本使用

      在項目中使用composer.json

      在項目中使用composer,你需要有一個composer.json文件,此文件的作用主要用來聲明包之間的相互關系和其他的一些元素標簽。

      require 關鍵字

      第一件事情在composer.json就是使用require關鍵字了,你將告訴composer哪些包是你項目所需要的

      代碼如下:

      {
          "require": {
              "monolog/monolog": "1.0.*"
          }
      }

      如你所見,require的對象將會映射包的名稱( monolog/monolog)和包的版本是1.0.*

      包的命名

      基本上包的命名是 主名/項目名稱( monolog/monolog),主名必須,但是項目也就是我們的包的名稱可以有相同的,例如: igorw/json,和seldaek/json

      包的版本

      我們需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99

      版本定義的兩種方式:

      1. 標準的版本:定義保準的版本包文件,如:1.0.2

      2. 一定范圍的版本:使用比較符號來定義有效的版本的范圍,有效的符號有>, >=, <,<=, !=

      3. 通配符:特別的匹配符號*,例如1.0.*就相當于>=1.0,<1.1版本的即可

      4. 下一個重要的版本:~符號好的解釋就是,~1.2就相當于>1.2,<2.0,但~1.2.3就相當于>=1.2.3,<1.3版本。

      安裝包

      在項目文件路徑下運行

      代碼如下:

      $ composer install

      這樣子他會自動下載monolog/monolog文件到你的vendor目錄下面。

      接下來需要說明一件事情就是

      composer.lock - 鎖定文件

      在安裝完所有需要的包之后,composer會生成一張標準的包版本的文件在composer.lock文件中。這將鎖定所有包的版本。

      使用composer.lock(當然是和composer.json一起)來控制你的項目的版本

      這一點非常的重要,我們使用install命令來處理的時候,它首先會判斷composer.lock文件是否存在,如果存在,將會下載相對應的版本(不會在于composer.json里面的配置),這意味著任何下載項目的人都將會得到一樣的版本。

      如果不存在composer.lock,composer將會通過composer.json來讀取需要的包和相對的版本,然后創(chuàng)建composer.lock文件

      這樣子就可以在你的包有新的版本之后,你不會自動更新了,升級到新的版本,使用update命令即可,這樣子就能獲取新版本的包并且也更新了你的composer.lock文件。

      $ php composer.phar update
      或者
      $ composer update

      Packagist(這應該就是composer,感覺有點像python的包,雖然沒那么強大,呵呵,有了這種標準以后,以后大家開發(fā)網(wǎng)站絕對會很輕松,可以借鑒很多人的代碼了,并且更加方便了!)

      Packagist是composer的主要倉庫,大家可以去看看,composer倉庫的基礎是包的源碼,你可以隨意的獲取,Packagist的目的建成一個任何人都可以使用的倉庫,這就意味著在你的文件中任意的require包了。

      關于自動加載

      為了方便的加載包文件,Composer自動生成了一個文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方

      require 'vendor/autoload.php';

      這意味著你可以非常非常方便的使用第三方代碼了,假設你的項目需要使用monlog,你直接使用吧,他們都已經(jīng)自動加載了的!

      代碼如下:

      $log = new Monolog\Logger('name');
      $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
      $log->addWarning('Foo');

      當然你也可以在composer.json中加載自己的代碼:

      代碼如下:

      {
          "autoload": {
              "psr-0": {"Acme": "src/"}
          }
      }

      composer將會把psr-0注冊為Acme的命名空間

      你可以定義一個映射通過命名空間到文件目錄,src目錄是你的根目錄,vendor是同一級別的目錄,例如一個文件為:src/Acme/Foo.php就包含了Acme\Foo類

      當你在增加autoload之后,你必須要重新install來生成vendor/autoload.php文件

      在我們引用此文件的時候,將會返回一個autoloader類的實力,所以你可以把返回的值放入一個變量,然后在增加更多的命名空間,如果在開發(fā)環(huán)境下這是非常方便的,例如:

      代碼如下:

      $loader = require 'vendor/autoload.php';
      $loader->add('Acme\Test', __DIR__);

      composer.lock文件的作用

      install 命令從當前目錄讀取 composer.json 文件,處理了依賴關系,并把其安裝到 vendor 目錄下。

      代碼如下:

      composer install

      如果當前目錄下存在 composer.lock 文件,它會從此文件讀取依賴版本,而不是根據(jù) composer.json 文件去獲取依賴。這確保了該庫的每個使用者都能得到相同的依賴版本。

      如果沒有 composer.lock 文件,composer 將在處理完依賴關系后創(chuàng)建它。

      為了獲取依賴的新版本,并且升級 composer.lock 文件,你應該使用 update 命令。

      代碼如下:

      composer update

      這將解決項目的所有依賴,并將確切的版本號寫入 composer.lock。

      如果你只是想更新幾個包,你可以像這樣分別列出它們:

      代碼如下:

      composer update vendor/package vendor/package2

      你還可以使用通配符進行批量更新:

      代碼如下:

      composer update vendor/*

      以上是“composer.lock文件的作用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      當前文章:composer.lock文件的作用-創(chuàng)新互聯(lián)
      標題路徑:http://www.ef60e0e.cn/article/gehij.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        屯留县| 且末县| 木里| 定远县| 台湾省| 佛学| 普洱| 黔东| 临洮县| 博爱县| 清水县| 阜城县| 安庆市| 祁阳县| 八宿县| 老河口市| 沾益县| 方山县| 泾阳县| 马尔康县| 芜湖市| 吴川市| 剑川县| 都江堰市| 搜索| 乐清市| 通山县| 大石桥市| 彩票| 花垣县| 盘锦市| 电白县| 丰县| 山西省| 中牟县| 宾阳县| 铁岭县| 西乌珠穆沁旗| 朝阳区| 贵港市| 民勤县|