Composer实现PHP自动加载

从**composer**出来之后,php开发者对php的代码构建得心应手,以前臃肿的代码文件引入的时代一去不复还了。
  1. 在根目录下创建composer.json文件,内容如下
{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
  1. 在根据下使用命令: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
  1. 然后在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/"
			}
		}
	}
  1. 然后再根目录使用:composer dump-autoload,会自动加载相应的命名空间
  2. 用例测试
	//只需要在使用的地方引入此目录,然后就可以使用自己定义的命名空间。
	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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值