如何自动加载辅助函数(在任何类之外)?我可以在composer.json
中指定应该首先加载的某种引导文件吗?
您可以像这样编辑您的composer.json
文件来自动加载特定的文件:
"autoload": {
"files": ["src/helpers.php"]
}
(由于针织品)
经过一些测试后,我得出的结论是,向包含函数的文件添加名称空间,并设置composer来自动加载该文件,似乎不能跨需要自动加载路径的所有文件加载该函数。
要合成,这将自动加载你的函数:
composer.json
"autoload": {
"files": [
"src/greetings.php"
]
}
src/greetings.php
<?php
if( ! function_exists('greetings') ) {
function greetings(string $firstname): string {
return "Howdy $firstname!";
}
}
?>
…
但这不会加载你的函数在每个要求自动加载:
composer.json
"autoload": {
"files": [
"src/greetings.php"
]
}
src/greetings.php
<?php
namespace You;
if( ! function_exists('greetings') ) {
function greetings(string $firstname): string {
return "Howdy $firstname!";
}
}
?>
您将使用use function ...;
调用您的函数,如下所示:
/- 1. - php示例
<?php
require( __DIR__ . '/../vendor/autoload.php' );
use function Yougreetings;
greetings('Mark'); // "Howdy Mark!"
?>