composer安裝第三方庫

生成composer.json

首先須要安裝composer,composer -v出現以下,則代表安裝成功。
php

  • 編寫composer.json
{
    "name": "www/test",
    "description": "wwwtest",
    "authors": [
        {
            "name": "www",
            "email": "example@qq.com"
        }
    ],
    "repositories": [
        {
            "type": "vcs",
            "url": "github項目url"
        }
    ],
    "version":"1.0.106",
    "require": {
        "smalot/pdfparser":"1.1.*"
    },
    "autoload":{
        "psr-4":{
            "model\\":"src/"
        }
    }
}

1.name和description是你給這個php項目起的名字,description須要來描述這個包的做用。
2.authors 做者能夠有多個
3.repositories至關於須要下載的代碼庫所在的倉庫,默認會有一個全局的倉庫,在這裏添加一個是由於若是你有個私人的倉庫,則能夠在這裏聲明
4.version是版本號(有幾種方式:1.確切版本號1.1.1,2.範圍版本號>=1.1,<1.2; 3.統配符版本號:1.0.*即,大於1.0小於1.1;4賦值運算版本號,~1.0表示用於匹配>=1.0而且小於2.0的版本)
5.require則經過「name」:"version"聲明,能夠有多個,require之後使用composer install命令composer會下載代碼並自動加載
6.autoload 自動加載類git

  • 也能夠經過composer init生成一個composer.json

    以smalot/pdfparser爲例,在包列表 查找對應包的信息。
    github

  • 使用composer install安裝
    運行composer install,composer會檢查composer.json組件的名稱和版本,下載到當前文件夾的vendor文件夾。如沒當前目錄沒有vendor文件夾,會在當前目錄生成一個vendor目錄。下載完成以後會在當前文件夾建立一個名爲composer.lock的鎖文件。當執行composer install會先檢查該文件的版本號,若是存在,
    就先下載該文件指定的版本。若是某個組件有了新的版本,須要執行composer update去更新並從新生成新的composer.lock文件。json

自動加載機制

composer install 還會在vendor目錄下提供一個自動下載文件,在項目中執行require 'vendor/autoload.php'語句引入這個文件。 加載相應的類文件。
自動加載有psr-0,psr-4,classmaphe和file四種規範形式。其中psr-4是最受歡迎的。自動加載規範psr-4的自動加載基於文件夾和命名空間,在composer.json文件中直接添加autoload字段自動實現命名空間到目錄的映射。composer

//根文件夾 lib
//根命名空間 model

//file lib/A.php

namespace model;

class A {

}

//file lib/path/B.php

namespace mode\path;

class B{

}

//file demo.php

$a = new \model\A();

$b = new \model\path\B();

//或者use
//file demo.php
use \model\A;
use \model\path\B;

$a = new A();

$b = new B();
相關文章
相關標籤/搜索