从**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/