composer的autoload来自动加载自己编写的函数库与类库?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了composer的autoload来自动加载自己编写的函数库与类库?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1、使用命令composer inIT生成composer.json文件,并编辑autoload选项内容如下:

其中又包含主要的两个选项: files 和 psr-4。

files就是需要composer自动帮我们加载的函数库(不含类),只要在后面的数组中将函数库的文件路径写入即可。
psr-4顾名思义,是一个基于psr-4(http://www.php-fig.org/psr/psr-4/)规则的类库自动加载对应关系,只要在其后的对象中,以 "命名空间": "路径" 的方式写入自己的类库信息即可。
修改完成后,只要执行一下composer update,即可完成对应工作。

注意:每次更新完composer.json后,必须执行composer update后才会生效

 

composer的autoload来自动加载自己编写的函数库与类库?

{
    "name": "sui/test","description": "test","tyPE": "PRoject","require": {
        "PHP": ">=5.3.10"
    },"autoload": {
    	"files":[],"psr-4":{
	   "Test\\" :"core/"
	}
    }
}

composer的autoload来自动加载自己编写的函数库与类库?

我们来深挖一下,探索一下autoload的原理。
在我们修改完composer.json并执行update后,将会修改./vender/composer/autoload_psr4.PHP,比如我的某个项目,其中增加了这样一个对应关系:

1
2
3
4
5
6
7
8
9
10
<?PHP
 
// autoload_psr4.PHP @generated by Composer
 
$vendorDir  = dirname(dirname( __FILE__ ));
$baseDir  = dirname( $vendorDir );
 
return  array (
     ‘Test\\‘  =>  array ( $baseDir  ‘/core‘ ),
);

2、自动加载测试

例如我们在composer.json同一目录下建立文件夹core,并编写ClassTest类:

composer的autoload来自动加载自己编写的函数库与类库?

1 <?PHP
2 namespace Test;
3 class ClassTest{
4     public function getName(){
5         return "test";
6     }
7 }
8 ?>

composer的autoload来自动加载自己编写的函数库与类库?

编写test.PHP,并运行test.PHP,可以看到界面上打印出了“test”内容

1
2
3
4
5
<?PHP
require_once  __DIR__. ‘/vendor/autoload.PHP ;
$obj  new  \Test\Classtest(); //实例化类
echo  $obj ->getName();
?>

脚本宝典总结

以上是脚本宝典为你收集整理的composer的autoload来自动加载自己编写的函数库与类库?全部内容,希望文章能够帮你解决composer的autoload来自动加载自己编写的函数库与类库?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。