我无法使用 PHP 中另一个命名空间中定义的函数

问题描述 投票:0回答:1

我正在使用自动加载来加载使用名称空间定义的文件。我在命名空间内定义了一个重定向函数:

<?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 namespaces
1个回答
0
投票

PHP 目前没有函数自动加载功能。您的 use 语句仅引用函数的命名空间名称。您仍然需要手动包含 Functions.php,以便可以在其中使用函数。

© www.soinside.com 2019 - 2024. All rights reserved.