namespace语句是否可以是";包括「;在PHP中?

namespace语句是否可以是";包括「;在PHP中?,php,namespaces,php-include,Php,Namespaces,Php Include,我有一个如下所示的文件: <?php namespace n; f(); // this calls n\f() 示例\u include\u namespace\u statement.php: <?php namespace n; 调用命名空间中的函数时,必须指定命名空间,如下所示: // test.php namespace test; function doesItWork() { return 'It Works!'; } // index.php includ

我有一个如下所示的文件:

<?php
namespace n;
f(); // this calls n\f()
示例\u include\u namespace\u statement.php:

<?php
namespace n;

调用命名空间中的函数时,必须指定命名空间,如下所示:

// test.php
namespace test;
function doesItWork() {
    return 'It Works!';
}
// index.php
include 'test.php';
echo test\doesItWork();
echo \test\doesItWork();
如果要使用在当前命名空间之外的命名空间中定义的函数,则必须使用命名空间字符作为其前缀,如下所示:

// test.php
namespace test;
function doesItWork() {
    return 'It Works!';
}
// index.php
include 'test.php';
echo test\doesItWork();
echo \test\doesItWork();

您应该阅读。

否。名称空间仅涵盖其声明的文件in@Phil,您可能想将其作为答案发布,因为已经2天了,似乎没有其他人有更好的答案。我已经阅读了有关名称空间的文档。必须在调用之前加上“\namespace”意味着namespace语句没有像我们期望的那样“包含”其他语句。有没有办法在PHP中“包含”名称空间语句?@Pacerier哦,你在考虑自动加载吗?-在使用名称空间时包含名称空间,而不必手动包含它?不,我想的是
include
。当我们使用
include
语句(如
f())时得到的
include
行为等。自动加载是自动加载,不包括……啊。必须限定名称空间的内容(必须使用完整路径)。没有办法“解包”名称空间,这样您就可以在不限定名称空间的情况下使用其中的任何内容--这将使名称空间变得毫无意义。。。但是,您可以别名名称空间,
使用path\to\myNamespace
,然后使用它,
myNamespace\doesItWork()
。这使得更长的名称空间更易于使用。