Automatically load php namespace using Composer

不言
Release: 2023-03-25 06:48:02
Original
2522 people have browsed it

这篇文章主要介绍了关于使用Composer自动加载php命名空间 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

上一篇介绍了php的命名空间,但是每次都要使用一个spl_autoload_register()或autoload()方法,每个要使用命名空间的地方都要加这个方法太麻烦,有没有简单的方法呢?有,可以使用composer自动加载命名空间。
要在php项目中使用包依赖管理工具composer首先得安装,这个自行搜索,就不多说了。安装之后再项目根目录下创建一个composer.json文件。
目录结构如下图:
Automatically load php namespace using Composer

composer.json相当于是composer的配置文件.
composer.json


{ "require" : { "monolog/monolog" : "1.2.*" }, "autoload" : { "psr-4" : { "Test\\" : "vendor/test1/", "Demo\\" : "vendor/test2/" } } }
Copy after login

这个配置文件中有一个autoload段,其中有个psr-4,psr-4是一个基于psr-4(http://www.php-fig.org/psr/psr-4/)规则的类库自动加载对应关系,只要在其后的对象中,以 “命名空间”: “路径” 的方式写入自己的类库信息即可。
修改完成后,只要执行一下composer update,对应的目录结构如下图。
Automatically load php namespace using Composer
分别修改vendor/test1/test.phpvendor/test2/test.php
旧 vendor/test1/test.php


"; } }
Copy after login

新 vendor/test1/test.php


"; } }
Copy after login

vendor/test2/test.php同上,要改成composer.jsonautoload 对应的命名空间
Automatically load php namespace using Composer
红框为命名空间,篮筐为命名空间对应的路径

index.php加入:require_onceDIR.’/vendor/autoload.php’;
index.php


path(); $test2 = new \Demo\Test(); $test2->path();
Copy after login

输出如下:
Automatically load php namespace using Composer

The above is the detailed content of Automatically load php namespace using Composer. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!