美文网首页
PHP命名空间

PHP命名空间

作者: 码一 | 来源:发表于2022-06-06 11:30 被阅读0次

    本文是复习所写,并不会涵盖一些基础知识点

    定义

    命名空间就相当于操作系统中目录的概念
    主要是为了解决以下两个问题:

    1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突
    2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性
    <?php
    namespace Mayi\Demo;
     
    class Test
    {
    
    }
    

    命名空间大小写不敏感,一般首字母大写
    同一文件中可以定义多个命名空间,不推荐使用

    <?php
    namespace Mayi\Demo
    {
        class Test
        {
    
        }
    }
     
    // 全局代码
    namespace {
        $a = 1;
    }
    

    namespace关键字与NAMESPACE魔术常量

    <?php
    namespace Mayi
    {
        class Test
        {
            public function foo()
            {
                echo __NAMESPACE__;
            }
        }
    }
     
    namespace Mayi\Demo
    {
        class Test
        {
            public function foo()
            {
                echo __NAMESPACE__;
            }
        }
    }
     
    function foo()
    {
        echo __NAMESPACE__;
    }
     
    // namespace指代当前文件的命名空间
    namespace\foo();
    (new namespace\Mayi\Test)->foo();
    (new namespace\Mayi\Demo\Test)->foo();
    

    使用命名空间

    <?php
    namespace Demo;
     
    use Mayi; // 导入
    use Mayi\Demo as MayiDemo; // 导入并起别名
    

    相关文章

      网友评论

          本文标题:PHP命名空间

          本文链接:https://www.haomeiwen.com/subject/nwcjmrtx.html