《PHP編程:composer.lock文件的作用》要點:
本文介紹了PHP編程:composer.lock文件的作用,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰Composer的根本使用
PHP實戰在名目中使用composer.json
PHP實戰在項目中使用composer,你必要有一個composer.json文件,此文件的作用主要用來聲明包之間的相互關系和其他的一些元素標簽.
PHP實戰
require 癥結字
PHP實戰第一件事情在composer.json就是使用require關鍵字了,你將告訴composer哪些包是你項目所必要的
PHP實戰如你所見,require的工具將會映射包的名稱( monolog/monolog)和包的版本是1.0.*
PHP實戰
包的定名
PHP實戰基本上包的命名是 主名/項目名稱( monolog/monolog),主名必需唯一,但是項目也就是我們的包的名稱可以有相同的,例如: igorw/json,和seldaek/json
PHP實戰包的版本
PHP實戰我們必要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99
PHP實戰版本界說的兩種方式:
PHP實戰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版本.??
PHP實戰安裝包
PHP實戰在項目文件路徑下運轉
PHP實戰這樣子他會自動下載monolog/monolog文件到你的vendor目次下面.
PHP實戰接下來必要說明一件事情就是
PHP實戰composer.lock - 鎖定文件
PHP實戰在安裝完所有必要的包之后,composer會生成一張標準的包版本的文件在composer.lock文件中.這將鎖定所有包的版本.
PHP實戰使用composer.lock(當然是和composer.json一起)來節制你的項目的版本
PHP實戰這一點非常的重要,我們使用install命令來處置的時候,它首先會判斷composer.lock文件是否存在,如果存在,將會下載相對應的版本(不會在于composer.json里面的配置),這意味著任何下載項目的人都將會得到一樣的版本.
PHP實戰如果不存在composer.lock,composer將會通過composer.json來讀取必要的包和相對的版本,然后創建composer.lock文件
PHP實戰這樣子就可以在你的包有新的版本之后,你不會自動更新了,升級到新的版本,使用update命令即可,這樣子就能獲取最新版本的包而且也更新了你的composer.lock文件.
PHP實戰$ php composer.phar update
又或
$ composer update
PHP實戰Packagist(這應該就是composer,感覺有點像python的包,雖然沒那么強大,呵呵,有了這種標準以后,以后大家開發網站絕對會很輕松,可以借鑒很多人的代碼了,并且更加便利了!)
Packagist是composer的主要倉庫,大家可以去看看,composer倉庫的基礎是包的源碼,你可以隨意的獲取,Packagist的目的建成一個任何人都可以使用的倉庫,這就意味著在你的文件中任意的require包了.
PHP實戰關于主動加載
PHP實戰為了方便的加載包文件,Composer自動生成了一個文件 vendor/autoload.php,你可以方便只有的使用它在任何你必要使用的地方
require 'vendor/autoload.php';
PHP實戰這意味著你可以非常非常方便的使用第三方代碼了,假設你的項目必要使用monlog,你直接使用吧,他們都已經自動加載了的!
PHP實戰當然你也可以在composer.json中加載本身的代碼:
PHP實戰composer將會把psr-0注冊為Acme的定名空間
PHP實戰你可以定義一個映射通過命名空間到文件目錄,src目錄是你的根目錄,vendor是同一級別的目錄,例如一個文件為:src/Acme/Foo.php就包括了Acme\Foo類
PHP實戰當你在增加autoload之后,你必需要重新install來生成vendor/autoload.php文件
PHP實戰在我們引用此文件的時候,將會返回一個autoloader類的實力,所以你可以把返回的值放入一個變量,然后在增加更多的命名空間,如果在開發環境下這是非常便利的,例如:
PHP實戰composer.lock文件的作用
PHP實戰install 命令從當前目錄讀取 composer.json 文件,處置了依賴關系,并把其安裝到 vendor 目錄下.
PHP實戰如果當前目錄下存在 composer.lock 文件,它會從此文件讀取依賴版本,而不是根據 composer.json 文件去獲取依賴.這確保了該庫的每個使用者都能獲得相同的依賴版本.
PHP實戰如果沒有 composer.lock 文件,composer 將在處置完依賴關系后創建它.
PHP實戰為了獲取依賴的最新版本,而且升級 composer.lock 文件,你應該使用 update 命令.
PHP實戰這將辦理項目的所有依賴,并將確切的版本號寫入 composer.lock.
PHP實戰如果你只是想更新幾個包,你可以像這樣分離列出它們:
PHP實戰你還可使用通配符進行批量更新:
維易PHP培訓學院每天發布《PHP編程:composer.lock文件的作用》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7594.html