前面autoload中所说的不论是“psr-0/4”还是“classmap”都是自动加载的类,但往往项目中还有一些非类的文件需要自动加载进来,例如定义了一堆函数的helper.php文件。
当然我们仍可以按常规的,在公共入口中require进来,不过既然用了composer,我们就用composer的方式来实现这个要求。
在composer.json的autoload下增加“files”,用来指定要自动require的文件。
{
"require": {
"mustache/mustache": "^2.11"
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"lib"
],
"files": [
"support/helper.php"
]
}
}
support/helper.php文件内容:
<?php
function user_name()
{
return 'jack';
}
执行命令:
composer dumpautoload
index.php 文件内容:
<?php
require 'vendor/autoload.php';
echo user_name();
执行命令:
php index.php
结果: