• 关于命名空间 namespace的总结


    namespace

    有作用的类型  类、函数、常量
    关键字namespace必须在所有代码之前 除用于编码的declare语句

    namespace Myproject;
    
    const A = 1;
    class connection{
        
    }
    funciton connect(){}



    namespace 同一个空间名可以用于多个php文件中 即允许将一个空间的内容分割到不同的文件中。

    与文件目录类似 命名空间可以使用分层级

    namespace MyprojectLevel;

    在同一个文件中,定义多个命名空间。有两种方法:
    1.

    namespace Myproject;
    ...
    ...
    namespace Labproject;
    ...
    ...


    2.大括号

    namespace Myproject{
        ...
    }
    namespace Labproject{
        ...
    }



    但是我们不提倡在一个文件中定义多个命名空间。


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

    <?php
    namespace MyProject {
    
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */  }
    }
    
    namespace { // global code
    session_start();
    $a = MyProjectconnect();
    echo MyProjectConnection::start();
    }
    ?> 



    除了开始的declare语句外,命名空间的括号外不得有任何PHP代码。

    <?php
    declare(encoding='UTF-8');
    namespace MyProject {
    
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */  }
    }
    
    namespace { // 全局代码
    session_start();
    $a = MyProjectconnect();
    echo MyProjectConnection::start();
    }
    ?> 



    关于命名空间中 类、函数、常量的使用

    1. 非限定名称,或不包含前缀的类名称,例如 $a=new foo(); 或 foo::staticmethod();。如果当前命名空间是 currentnamespace,foo 将被解析为 currentnamespacefoo。如果使用 foo 的代码是全局的,不包含在任何命名空间中的代码,则 foo 会被解析为foo。
    2. 限定名称,或包含前缀的名称,例如 $a = new subnamespacefoo(); 或 subnamespacefoo::staticmethod();。如果当前的命名空间是 currentnamespace,则 foo 会被解析为 currentnamespacesubnamespacefoo。如果使用 foo 的代码是全局的,不包含在任何命名空间中的代码,foo 会被解析为subnamespacefoo。
    3. 完全限定名称,或包含了全局前缀操作符的名称,例如, $a = new currentnamespacefoo(); 或 currentnamespacefoo::staticmethod();。在这种情况下,foo 总是被解析为代码中的文字名(literal name)currentnamespacefoo。

  • 相关阅读:
    Commix命令注入漏洞利用
    漏洞扫描
    信息搜集神器
    peepingtom
    自动化安装一些渗透工具的脚本
    MITMF
    Xssf配合metaspolit使用
    Beef安装与简单使用
    Linux安全检测常用方法
    cobaltstrike3.8服务器搭建及使用
  • 原文地址:https://www.cnblogs.com/hejun695/p/5489270.html
Copyright © 2020-2023  润新知