gpt4 book ai didi

PHP 命名空间和导入

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

我有一个关于 PHP 中命名空间的问题。

此代码不起作用:

<?php
namespace My\Functions\Printing;

class A {
public function __construct() {
echo __NAMESPACE__;
}
}


namespace My;
use My\Functions\Printing\A as A;


$obj=new namespace\A();

但这一项工作:
<?php
namespace My\Functions\Printing;

class A {
public function __construct() {
echo __NAMESPACE__;
}
}


namespace My;
use My\Functions\Printing\A as A;


$obj=new A();

我想获得有关命名空间导入行为的更多信息。
为什么无法在导入的命名空间中访问导入的类?

最佳答案

可能您对使用“使用”有一个困惑的想法。
关键字 'namespace' 指的是当前的命名空间

namespace My\Functions\Printing;

class A {
public function __construct() {
echo __NAMESPACE__;
}
}

namespace My;
use My\Functions\Printing\A;
use My\Functions\Printing\A as myAlias;

$obj=new namespace\A(); // instance of \My\A (doesn't exist)
$obj2=new A(); // instance of \My\Functions\Printing\A
$obj3=new myAlias(); // instance of \My\Functions\Printing\A

像往常一样,请参阅文档以获取完整的详细信息: php doc

关于PHP 命名空间和导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468097/

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