我正在使用自动加载来加载使用名称空间定义的文件。我在命名空间内定义了一个重定向函数:
<?php
namespace sirJuni\Framework\Helper;
function redirect($url) {
header("Location: $url");
}
?>
项目结构如下:
- sirJuni\
- src\
- Helper\
- Functions.php // where the function is defined
然后我想做的是使用自动加载来加载这个文件并使用重定向功能:
<?php
require_once "vendor/autoload.php";
use function sirJuni\Framework\Helper\redirect;
redirect("hello/hi");
?>
这给出了一个错误:调用未定义的函数 但是,如果我尝试使用上述项目中定义的其他类
sirJuni
我可以毫无问题地使用它们。仅当我尝试使用另一个命名空间中的函数时才会发生这种情况。
PHP 目前没有函数自动加载功能。您的 use 语句仅引用函数的命名空间名称。您仍然需要手动包含 Functions.php,以便可以在其中使用函数。