gpt4 book ai didi

php - PHP 中的相对嵌套命名空间

转载 作者:行者123 更新时间:2023-12-04 17:00:36 24 4
gpt4 key购买 nike

我将尝试描述我遇到问题的情况:

我有一个主文件夹。我将所有文件都放在那里(空类是有原因的)和一个包含相同文件的子文件夹,所有实现都在这里(空类扩展它们)。

主文件夹的命名空间声明为 Project/Folder ,子文件夹为 Project/Folder/Subfolder .这些是类的声明:

namespace Project\Folder;
class Foo extends Subfolder\Foo { }

namespace Project\Folder\Subfolder;
class Foo { }

我想要实现的是能够从 Project\Folder\Subfolder\Foo 内部调用其他类通过这些较低级别的空类,只有它的名字,例如:
namespace Project\Folder\Subfolder;
class Foo {
function bar() {
Another_Class::do_something();
}
}

默认情况下,会调用 Another_Class来自 Project\Folder\Subfolder命名空间。我希望它使用相同的语法从 Project\Folder 命名空间中引用 Another_Class - 这可能吗?

我希望我解释得足够清楚,如果没有,写一个推荐,我会尽量让它更清楚。

最佳答案

您可以使用 use 来实现这一点。陈述。

use Project\Folder\Subfolder\Another_Class as SomeAlias;

// ...

SomeAlias::doSomething();

// or

$object = new SomeAlias();
$object->doSomething();

或者,您必须引用整个命名空间:
\Project\Folder\Subfolder\Another_Class::doSomething();

// or

$object = new \Project\Folder\Subfolder\Another_Class();
$object->doSomething();

More information here.

关于php - PHP 中的相对嵌套命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435051/

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