在php中包含命名空间,它是如何工作的?

时间:2018-03-20 22:08:16

标签: php namespaces include

在学习PHP中的命名空间时,我发现以下是在PHP中声明命名空间的方法,

File1.php

namespace Web\Core;


function m1() {
   var_dump(__FUNCTION__);
}

要使用声明的命名空间代码块,我们必须执行以下操作:

File2.php

namespace Web\Core;
include 'File1.php';

m1();   

我坚持以下几点:

  • 这里包含的工作如何包含在这里必须导致错误,因为不允许使用嵌套的命名空间,因为这里的包含意味着:

File2.php =>包括

之后
namespace Web\Core;

namespace Web\Core;



function m1() {
   var_dump('Test Function calling');
}

m1();

这就是嵌套命名空间错误的原因。

另一个例子: 的 File1.php

    namespace App\Lib1;

    function MyFunction() {
         var_dump(__NAMESPACE__);
    }


nameSpace App\Lib2;

    function myFunction(){
        var_dump(__NAMESPACE__);
    }

File2.php:

require ("File1.php");

这将是两个命名空间的用法,这也意味着声明两个命名空间并在没有括号的命名空间中使用它们是不允许的,所以File2.php在include之后将如下所示:

namespace App\Lib1;

    function MyFunction() {
         var_dump(__NAMESPACE__);
    }


nameSpace App\Lib2;

    function myFunction(){
        var_dump(__NAMESPACE__);
    }

then use them.

那么,即使对于初学者来说,如何正确地工作以及如何在文档中对此行为没有明确的解释?

0 个答案:

没有答案