從**composer**出來之後,php開發者對php的代碼構建得心應手,以前臃腫的代碼文件引入的時代一去不復還了。
- 安裝中文官網:https://www.phpcomposer.com/
- 使用方法
- 在根目錄下創建composer.json文件,內容如下
{
"require": {
"monolog/monolog": "1.0.*"
}
}
- 在根據下使用命令:
composer install
,composer會自動下載monolog庫,自動加載程序也會自動下載。
Administrator@sz-tang24680-PC MINGW64 /d/WebService2018/PHPTutorial/WWW/www.bxvtest.com
$ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing monolog/monolog (1.0.2): Downloading (100%)
Writing lock file
Generating autoload files
- 然後在json中配置命名空間目錄
//如果使用文件單獨加載
{
"require":{
"monolog/monolog":"1.0.*"
},
"autoload": {
"files": [
"App/CommonInfo.php",
"App/Zn.php",
"Contract/CommonInfo.php",
"Contract/Zn.php"
]
}
}
//如果使用路徑自動加載
{
"require": {
"monolog/monolog": "1.0.*"
},
"autoload": {
"classmap": ["App/","Contract/"]
}
}
//使用psr-4自動加載規則(https://www.php-fig.org/psr/psr-4/),psr-0(已廢棄)
{
"require":{
"monolog/monolog":"1.0.*"
},
"autoload":{
"psr-4":{
"App\\":"App/",
"Contract\\":"Contract/"
}
}
}
- 然後再根目錄使用:
composer dump-autoload
,會自動加載相應的命名空間 - 用例測試
//只需要在使用的地方引入此目錄,然後就可以使用自己定義的命名空間。
include 'vendor/autoload.php';
use \App\CommonInfo;
use \App\Zn;
use \App\Model\Model;
$send=new CommonInfo(new Zn());
echo $send->msg('小明','回家喫飯了');
參考一:https://blog.csdn.net/zhang197093/article/details/78118491
參考二:https://www.php-fig.org/psr/psr-4/