• 命名空间


    命名空间

    从广义上来说,命名空间是一种封装事物的方法

    PHP 命名空间可以解决以下两类问题

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

    命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。语法格式如下;

    在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。

    单个文件中定义多个命名空间。建议使用下面的大括号形式的语法

    命名空间中的常量使用const关键词进行定义;

    __NANESPACE__当前命名空间的名称(区分大小写)

    将全局的非命名空间中的代码与命名空间中的代码组合在一起,只能使用大括号形式的语法。全局代码必须用一个不带名称的 namespace 语句加上大括号括起来,

    子命名空间

    与目录和文件的关系很象,PHP 命名空间也允许指定层次化的命名空间的名称。因此,命名空间的名字可以使用分层次的方式定义

    命名空间的使用:

    三种方式引用:

    1、非限定名称:会根据当前命名空间解析。

    2、限定名称:如果当前命名空间是myproject,则mypro1aa()为myprojectmypro1aa();

    3、完全限定名称:使用开头 myprojectmypro1Y;

    命名空间的引入和别名

    1、使用use操作符导入别名;

    2、一行包含多个use语句;

     
     
    // 声明命名空间   文件夹
    namespace Admin{
        $aa = 100;
        function aa(){
            echo 'aaaa';
        }
        aa();
        function trim(){
            echo 'aa';
        }
        trim();
    }

    namespace Aa{
        $n = 1110;
        function aa(){
            echo 'bbb';
        }

    }

    // 声明命名空间
    namespace Admin{
        //定义常量
        const ABC = 1;
        // 函数
        function aa(){
            echo 'aaaaa';
        }
        function trim(){
            echo 'aa';
        }
    }


    // 全局命名空间
    namespace{
        // 使用admin命名空间下的aa函数
        Adminaa();
    }
  • 相关阅读:
    django 如何重用app
    vim常用命令
    linux find grep
    linux su su-的区别
    linux定时任务crontab
    linux shell的单行多行注释
    python字符串的截取,查找
    gdb调试
    python字符转化
    python读写文件
  • 原文地址:https://www.cnblogs.com/1014852131qq/p/14101483.html
Copyright © 2020-2023  润新知