•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

怎样运用PHP中的定名空间【php教程】,命名空间

摘要: PHP中的定名空间是处理因具有雷同的类或要领而致使代码争执的要领。经由过程运用namespace敕令将PHP代码放入定名空间中。如许要挪用类时,天然要先挪用定名空间当我们写PHP顺序时,会发现...
PHP中的定名空间是处理因具有雷同的类或要领而致使代码争执的要领。经由过程运用namespace敕令将PHP代码放入定名空间中。如许要挪用类时,天然要先挪用定名空间

当我们写PHP顺序时,会发现由于具有一个雷同称号的类或要领,而使顺序将失利。然则经由过程PHP中的定名空间能够协助我们处理代码争执题目,接下来在文章中将和人人细致引见怎样运用定名空间代码

【引荐课程:PHP教程

以下示例中有两个文件,一个Demo.php,一个index.php,两个文件处于同级目录下;Demo.php文件中誊写定名空间以及Demo类,index.php挪用Demo.php中的Demo类;以下示例中的“输出效果”即示意浏览器接见index.php。

Demo.php文件代码

<?php
namespace DemoNameSpace;
 
class Demo {
    private $mysqlHandle;
 
    public function __construct() {
        echo 'This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is '.__NAMESPACE__;
    }
}
?>

index.php文件代码

<?php
    include 'Demo.php';
    use DemoNameSpace\Demo;
    $DemoObj = new Demo();
?>

输出效果:

“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”

以上示例的申明:Demo.php中有一个_NAMESPACE__魔法常量;“它包括当前定名空间称号的字符串。在全局的,不包括在任何定名空间中的代码,它包括一个空的字符串。”

Demo.php不做更改,修改index.php文件

<?php
    include 'Demo.php';
    $Demo = new Demo();
?>

输出效果:

“Fatal error: Class 'Demo' not found in F:\JJserver\demo\index.php on line 4”

这个是罕见的“致命毛病”信息了。根据通例的php编程思绪,这里的输出应该是跟上面的输出效果是一致的,但这里它偏要来个致命毛病。然则当我们去掉(或解释掉)Demo.php文件中的:“namespace DemoNameSpace;”这个语句就一般了。这是我们寻常写class以及挪用class最罕见的誊写要领。

总结:

对照运用namespace与不运用namespace的两种输出状况,并到场namespace的定义明白后,上述涌现致命毛病的状况就很好明白了。在Demo.php中定义了一个namespace,也就是定名空间后,接着定义了Demo类,然后这个Demo类就被合并到了DemoNameSpace定名空间中去了,那末要挪用这个Demo类时,天然要先挪用这个DemoNameSpace定名空间了,也就是在index.php文件中运用“useDemoNameSpace\Demo”语句了

【相干引荐:PHP中的定名空间是什么

以上就是怎样运用PHP中的定名空间的细致内容,更多请关注ki4网别的相干文章!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号