久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      關(guān)于composer.lock文件的作用介紹

      下面由composer教程欄目給大家介紹composer.lock文件的作用,希望對(duì)需要的朋友有所幫助!

      關(guān)于composer.lock文件的作用介紹

      Composer的基本使用

      在項(xiàng)目中使用composer.json

      在項(xiàng)目中使用composer,你需要有一個(gè)composer.json文件,此文件的作用主要用來(lái)聲明包之間的相互關(guān)系和其他的一些元素標(biāo)簽。

      require 關(guān)鍵字

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

      代碼如下:

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

      如你所見(jiàn),require的對(duì)象將會(huì)映射包的名稱(chēng)( monolog/monolog)和包的版本是1.0.*

      包的命名

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

      包的版本

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

      版本定義的兩種方式:

      1. 標(biāo)準(zhǔn)的版本:定義保準(zhǔn)的版本包文件,如:1.0.2

      2. 一定范圍的版本:使用比較符號(hào)來(lái)定義有效的版本的范圍,有效的符號(hào)有>, >=, <,<=, !=

      3. 通配符:特別的匹配符號(hào)*,例如1.0.*就相當(dāng)于>=1.0,<1.1版本的即可

      4. 下一個(gè)重要的版本:~符號(hào)最好的解釋就是,~1.2就相當(dāng)于>1.2,<2.0,但~1.2.3就相當(dāng)于>=1.2.3,<1.3版本。

      安裝包

      在項(xiàng)目文件路徑下運(yùn)行

      代碼如下:

      $ composer install

      這樣子他會(huì)自動(dòng)下載monolog/monolog文件到你的vendor目錄下面。

      接下來(lái)需要說(shuō)明一件事情就是

      composer.lock – 鎖定文件

      在安裝完所有需要的包之后,composer會(huì)生成一張標(biāo)準(zhǔn)的包版本的文件在composer.lock文件中。這將鎖定所有包的版本。

      使用composer.lock(當(dāng)然是和composer.json一起)來(lái)控制你的項(xiàng)目的版本

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

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

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

      $ php composer.phar update 或者 $ composer update

      Packagist(這應(yīng)該就是composer,感覺(jué)有點(diǎn)像python的包,雖然沒(méi)那么強(qiáng)大,呵呵,有了這種標(biāo)準(zhǔn)以后,以后大家開(kāi)發(fā)網(wǎng)站絕對(duì)會(huì)很輕松,可以借鑒很多人的代碼了,并且更加方便了!)

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

      關(guān)于自動(dòng)加載

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

      require 'vendor/autoload.php';

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

      代碼如下:

      $log = new MonologLogger('name'); $log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING)); $log->addWarning('Foo');

      當(dāng)然你也可以在composer.json中加載自己的代碼:

      代碼如下:

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

      composer將會(huì)把psr-0注冊(cè)為Acme的命名空間

      你可以定義一個(gè)映射通過(guò)命名空間到文件目錄,src目錄是你的根目錄,vendor是同一級(jí)別的目錄,例如一個(gè)文件為:src/Acme/Foo.php就包含了AcmeFoo類(lèi)

      當(dāng)你在增加autoload之后,你必須要重新install來(lái)生成vendor/autoload.php文件

      在我們引用此文件的時(shí)候,將會(huì)返回一個(gè)autoloader類(lèi)的實(shí)力,所以你可以把返回的值放入一個(gè)變量,然后在增加

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)