php composer使用


Composer-PHP中用來管理依賴(dependency)

定義

  1. composer是PHP中用來管理依賴(dependency)關系的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer會幫你安裝這些依賴的庫文件。
  2. Composer 需要PHP5.3.2+ 以上的環境來運行。有幾個敏感的PHP設置和編譯標志也是必需的,但安裝程序會發出警告當存在任何不兼容的情況。
  3. Composer 是兼容多平台的,其運行適用於Windows,Linux和OSX。

安裝

  1. linux
    • curl -sS https://getcomposer.org/installer | PHP
    • 你可以通過 --install-dir 選項指定 Composer 的安裝目錄(它可以是一個絕對或相對路徑)
    • 全局安裝
      mv composer.phar /usr/local/bin/composer
      現在只需要運行 composer 命令就可以使用 Composer 而不需要輸入 php composer.phar。
  2. windows
    下載 https://getcomposer.org/Composer-Setup.exe
    windows可能需要設置composer的環境變量
  3. composer -V 查看版本號
    composer -help 查看命令幫助
  4. 參考文獻
    http://docs.phpcomposer.com/
  5. composer 中國鏡像的使用
    http://pkg.phpcomposer.com/

composer.json 文件說明

  1. require key

     {
         "require": {
             "monolog/monolog": "1.0.*"
         }
     }
    
    • require 需要一個 包名稱 (例如 monolog/monolog) 映射到 包版本 (例如 1.0.*) 的對象。
    • 包名稱由供應商名稱和其項目名稱構成
  2. 版本運算符

    • 確切版本 1.0.2
    • 通配符 1.0.* 1.0的所有版本
    • 范圍 >、>=、<、<=、!= ,你可以定義多個范圍,用逗號隔開,這將被視為一個邏輯AND處理。一個管道符號|將作為邏輯OR處理。
    • 賦值運算符 1.2,1.2相當於>=1.2,<2.0, 允許1.2以上的任何版本,但不包括2.0。你還會看到它的另一種用法,使用 ~ 指定最低版本,但允許版本號的最后一位數字上升。
  3. 執行安裝 php composer.phar install

    • 接着前面的例子,這將會找到 monolog/monolog 的最新版本,並將它下載到 vendor 目錄。 這是一個慣例把第三方的代碼到一個指定的目錄 vendor。如果是 monolog 將會創建 vendor/monolog/monolog 目錄。
    • 另一件事是 install 命令將創建一個 composer.lock 文件到你項目的根目錄中。
    • 如果你正在使用Git來管理你的項目, 你可能要添加 vendor 到你的 .gitignore 文件中。 你不會希望將所有的代碼都添加到你的版本庫中。
  4. composer.lock - 鎖文件

    • 在安裝依賴后,Composer 將把安裝時確切的版本號列表寫入 composer.lock 文件。這將鎖定改項目的特定版本。
    • 使用 update 命令。這將獲取最新匹配的版本(根據你的 composer.json 文件)並將新版本更新進鎖文件。php composer.phar update
    • 如果只想安裝或更新一個依賴,你可以白名單它們:
      php composer.phar update monolog/monolog [...]
  5. 自動加載

    • 對於庫的自動加載信息,Composer 生成了一個 vendor/autoload.php 文件。你可以簡單的引入這個文件,你會得到一個免費的自動加載支持。
      require 'vendor/autoload.php';

    • 你可以在 composer.json 的 autoload 字段中增加自己的 autoloader。

        {
            "autoload": {
                "psr-4": {"Acme\\": "src/"}
            }
        }
      
    • 你可以定義一個從命名空間到目錄的映射。此時 src 會在你項目的根目錄,與 vendor 文件夾同級。例如 src/Foo.php 文件應該包含 Acme\Foo 類。
      添加 autoload 字段后,你應該再次運行 install 命令來生成 vendor/autoload.php 文件。

    • 引用這個文件也將返回 autoloader 的實例,你可以將包含調用的返回值存儲在變量中,並添加更多的命名空間。這對於在一個測試套件中自動加載類文件是非常有用的,例如。

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

使用示例

  1. 基本命令的使用

  2. 一個最小化的composer.json,切換到項目目錄,新建一個composer.json

     {
         "require-dev": {
             "phpunit/phpunit": "4.3.*"
         }
     }
    
  3. 執行 composer install

    • 會創建vendor目錄,里面就是相關的代碼。
    • 會創建composer.lock文件
    • 會生成 vendor/autoload.php 是自動加載的php文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM