首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用函数不会在PHP中导入函数

使用函数不会在PHP中导入函数
EN

Stack Overflow用户
提问于 2018-07-27 05:08:10
回答 1查看 4K关注 0票数 5

无法使用PHP.net中描述的use function关键字导入函数。在本地重新创建示例将返回一个PHP Fatal error: Uncaught Error: Call to undefined function

composer.json

代码语言:javascript
复制
{
    "autoload": {
        "psr-4": {
            "My\\": ""
        }
    }
}

full.php

代码语言:javascript
复制
<?php

namespace My\Full;

function functionName()
{
    echo 'Hello Stackoverflow';
}

index.php

代码语言:javascript
复制
<?php

require 'vendor/autoload.php';

use function My\Full\functionName as func;

func();

注意:我知道我可以需要这个文件,但我想知道在不这样做的情况下是否可以。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-27 06:30:07

use function不包含任何文件或函数定义,它只是一个完全限定的函数名的别名,这意味着当您调用函数时,您不需要指定名称空间。

在您的示例中,您使用的是composer,它非常适合自动包含文件,而来自https://www.php-fig.org/psr/psr-4/的PSR-4

:用于从文件路径自动加载类的规范

它不会自动加载不符合本规范的函数或文件。

但是,对于这种情况,您可以使用composer自动包含文件。您需要更新composer.json,然后运行composer dumpautoload

composer.json

代码语言:javascript
复制
{
    "autoload": {
        "files": ["full.php"]
    }
}

然后你的其余部分可以保持不变,它应该可以工作。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51547511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档