本文已参与[新人创作礼]活动,一起开启掘金创作之路
- 修改
composer.json文件,在autoload下添加files字段,添加对应的自动加载文件。
我这里是进行Composer包开发,所以路径是src/,如果是有特定的路径存放(例如对应的项目文件夹),定义的时候注意修改文件路径就好。
如果自定义的全局自定义函数只是想要在开发环境下使用,那可以在autoload-dev字段下添加对应的内容。
{
"name": "wenhsing/cgf",
"description": "Auto loading of custom global functions",
"license": "MIT",
"type": "library",
"authors": [
{
"name": "Wenhsing",
"email": "wenhsing@qq.com"
}
],
"require": {
"php": "^7.2"
},
"autoload": {
"files": [
"src/functions.php"
]
},
"autoload-dev": {
"files": [
"src/functions_dev.php"
]
},
"minimum-stability": "stable"
}
-
创建
src/functions.php函数文件,用以存放自定义全局函数。开发用的全局这里就不列举了,同理的。 -
运行
composer dump-autoload命令让Composer重新载入文件。
其他主要注意的内容:
- 发现找不到对应的函数,那可以核查一下
vendor/composer/autoload_files.php,看看你的文件有没有加载。如果没有加载,那查看一下路径是否正确。 - 如果是本地开发Composer包的情况下,包内已经显示了路径,而其他依赖这个包的项目并没有加载,那可以尝试删除项目中的
vendor文件夹和composer.lock文件再重新安装,看看文件有没有加载。 - 一般情况下,使用Composer的项目都会加载autoload.php文件,但是不排除一些奇葩情况,如果项目没有引用那你就引用就好。