如何使用composer的autoload来自动加载自己编写…
2018-06-22 05:35:04来源:未知 阅读 ()
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后才会生效。
{ "name": "libo21/spider_script", "description": "general spider for sina finance market group", "type": "project", "require": { "php": ">=5.3.10" }, "autoload": { "files":[], "psr-4":{ "Test\\" :"core/" } } }
我们来深挖一下,探索一下autoload的原理。
在我们修改完composer.json并执行update后,将会修改./vender/composer/autoload_psr4.php,比如我的某个项目,其中增加了这样一个对应关系:
<?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类:
1 <?php 2 namespace Test; 3 class ClassTest{ 4 public function getName(){ 5 return "test"; 6 } 7 } 8 ?>
编写test.php,并运行test.php,可以看到界面上打印出了“test”内容:
<?php require_once __DIR__.'/vendor/autoload.php'; $obj = new \Test\ClassTest();//实例化类 echo $obj->getName(); ?>
完!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 详解php中的implements 使用 2020-03-18
- PHP简单留言本功能实现代码 2020-03-13
- PHPExcel如何读取Excel文件 2020-03-10
- PHP中APC缓存配置及使用详解 2020-03-04
- ThinkPHP分页类使用详解 2020-02-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash