composer.json 是一個用于描述 PHP 項(xiàng)目依賴關(guān)系的文件,它是 Composer 工具的核心文件之一。該文件使用 JSON 格式編寫,通常位于項(xiàng)目的根目錄下。
Composer 將使用 composer.json 文件中的信息來確定需要安裝哪些依賴庫、依賴版本等。composer.json 文件一般由開發(fā)人員手工編寫,其內(nèi)容包括項(xiàng)目名稱、版本號、作者、許可證等基本信息,以及項(xiàng)目依賴庫的名稱、版本要求(至少version、大于greater than、小于less than等),以及對依賴庫的限制條件等。
{ "name": "myproject/myproject", // 項(xiàng)目名稱 "description": "My awesome project!", // 項(xiàng)目描述 "type": "library", // 項(xiàng)目類型 "license": "MIT", // 項(xiàng)目使用的許可協(xié)議 "authors": [ // 項(xiàng)目作者列表 { "name": "John Doe", "email": "john.doe@example.com" } ], "require": { // 依賴庫列表 "vendor1/package1": "^1.0", "vendor2/package2": "^2.3" }, "require-dev": { // 用于開發(fā)的依賴庫列表 "phpunit/phpunit": "^6.0" }, "minimum-stability": "stable", // 要求使用的最低穩(wěn)定性 "prefer-stable": true, // 設(shè)置偏好穩(wěn)定版本 "autoload": { // 自動加載規(guī)則 "psr-4": { "MyProject\\": "src/" } }, "extra": { // 其他額外信息 "vendor-package-data": { "key1": "value1", "key2": "value2" } } }
除了上述列舉的信息外,composer.json 文件還可以包括許多其他的屬性,如 autoload-dev、config 等。編寫成功的 composer.json 文件需要遵循一定的規(guī)范,保證其正確性和可讀性,從而確保項(xiàng)目的順利運(yùn)行。