Composer 基本使用

composer.josn

該文件包含了項目的依賴和其餘一些源數據。php

{

"require": {

"monolog/monolog": "1.0.\*"

}

}

composer.json 結構詳細見官方說明html

[https://docs.phpcomposer.com/...](https://docs.phpcomposer.com/...laravel

Composer install

更名了用於將composer.json中的依賴下載安裝到vendor目錄下,同時生成一個composer.lock文件。git

若是你的目錄存在composer.lock文件,那麼composer將會根據lock文件下載指定版本,忽略json文件。json

因而composer install下載的優先級:composer.lock > composer.jsoncomposer

composer.lock

在安裝依賴後,Composer 將把安裝時確切的版本號列表寫入 composer.lock 文件。這將鎖定改項目的特定版本。svn

Composer update

該命令根據composer.json文件匹配最新的依賴進行下載,並將版本號更新到composer.lock文件性能

若是隻想安裝或更新一個依賴,你能夠白名單它們:優化

composer update monolog/monolog [...]

注:composer update 可能會將你並不想更新的依賴一同更新。這事使用composer update nothing命令,composer只會把composer.json文件改動的依賴進行update。ui

Composer require

更名了用於增長新的依賴到當前目錄的composer.json文件

Composer search

該命令用於爲當前項目搜索依賴包,一般它只搜索 packagist.org 上的包

Composer show

該命令用於列出全部可用的軟件包

Composer depends

該命令能夠查出已安裝在你項目中的某個包,是否正在被其它的包所依賴,並列出他們。

Composer validate

在提交 composer.json 文件,和建立 tag 前,你應該始終運行 validate 命令。它將檢測你的 composer.json 文件是不是有效的

Composer create-project

Composer 從現有的包中建立一個新的項目。這至關於執行了一個 git clone 或 svn checkout 命令後將這個包的依賴安裝到它本身的 vendor 目錄。

Composer dump-autoload

在部署代碼到生產環境的時候,別忘了優化一下自動加載:

composer dump-autoload --optimize

安裝包的時候能夠一樣使用--optimize-autoloader。不加這一選項,你可能會發現20%到25%的性能損失。

在PHP-FPM模式下,autoloader 會佔用每一個請求的很大一部分時間(好比laravel),使用 classmaps 或許在開發時不太方便,但它在保證性能的前提下,仍然能夠得到 PSR-0/4 規範帶來的便利。

--optimize (-o): 轉換 PSR-0/4 autoloading 到 classmap 得到更快的載入速度。這特別適用於生產環境,但可能須要一些時間來運行,所以它目前不是默認設置。

相關文章
相關標籤/搜索