Composer是PHP包管理工具,可以有效解決包依賴,實現名稱空間,類,函式的自動載入。通過composer.json檔案配合composer update和composer dump-autoload命令實現這些功能。
一、包依賴
composer.json檔案裡的require欄位,格式:
"require": {
"php": ">=5.5.9",
"laravel/framwork": "5.3.*"
}
二、自動載入
在composer.json中通過autoload欄位指明自動載入方式,然後在檔案中引用:require 'vendor/autoload.php';
掌握三種載入方式就夠用了。
- file
用於載入全域性的helper函式。"autoload": { "files": ["path/to/file.php"] }
- classmap
用於載入全域性類"autoload": { "classmap": ["path/to/file.php", "dir/to/"] }
- psr-4
載入符合psr-4標準的名稱空間類"autoload": { "psr-4": { "Foo\\": "src/" } }
這樣“src/Bar/Hello.php”類檔案中定義的Hello類,就可以通過名稱空間“Foo\Bar\Hello”來使用了。