gpt4 book ai didi

PHP:如何在主命名空间中导入子命名空间?

转载 作者:行者123 更新时间:2023-12-04 16:51:25 24 4
gpt4 key购买 nike

我试图找到以下问题的答案:

函数 world() 在命名空间“myapp\utils\hello”中定义。您的代码位于命名空间“myapp”中

导入 hello 命名空间以便您可以使用 world() 函数的正确方法是什么?

以下是我正在尝试的代码,但出现此错误:
Fatal error: Call to undefined function myapp\world()
我的代码:

<?php
namespace myapp;
use myapp\utils\hello;
world();

namespace myapp\utils\hello;

function world()
{
echo 'yes world';
}

最佳答案

你可以这样做:

<?php
namespace myapp;
\myapp\utils\hello\world();

namespace myapp\utils\hello;

function world()
{
echo 'yes world';
}

另外,在这里阅读更多 Using namespaces .

这很有趣:

All versions of PHP that support namespaces support three kinds of aliasing or importing: aliasing a class name, aliasing an interface name, and aliasing a namespace name. PHP 5.6+ also allows aliasing or importing function and constant names.



简单的说,PHP 5.6 之前不能使用 use导入一个函数。它必须在一个类中。但是使用 PHP5.6+,你可以这样做:
<?php
namespace myapp;
use function myapp\utils\hello\world;
world();

namespace myapp\utils\hello;

function world()
{
echo 'yes world';
}

关于PHP:如何在主命名空间中导入子命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com