zoukankan      html  css  js  c++  java
  • PHP之namespace小结

    命名空间的使用

    在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。

    PHP 命名空间中的类名可以通过三种方式引用:

    • 非限定名称,或不包含前缀的类名称.
    • 限定名称,或包含前缀的名称。
    • 完全限定名称,或者包含了全局前缀操作符的名称

    file1.php

    <?php
    namespace FooBarsubnamespace; 
    
    const FOO = 1;
    function foo() {}
    class foo
    {
        static function staticmethod() {}
    }
    ?>
    

    file2.php

    <?php
    namespace FooBar;
    include 'file1.php';
    
    const FOO = 2;
    function foo() {}
    class foo
    {
        static function staticmethod() {}
    }
    
    /* 非限定名称*/
    foo(); /*解析为:FooBarfoo*/
    foo::staticmethod(); /*同上*/
    echo FOO; /*同上*/
    /*限定名称*/
    subnamespacefoo(); /*解析为:FooBarsubnamespacefoo*/
    subnamespacefoo::staticmethod(); /*同上*/
    echo subnamespaceFOO; /*同上*/
    
    /*完去限定名称*/
    FooBar|foo(); /*解析为:FooBar|foo*/
    FooBarfoo::staticmethod(); /*同上*/
    FooBarFOO; /*同上*/
    

    注意访问任意全局类、函数或常量,都可以使用完全限定名称,例如 strlen() 或 Exception 或 INI_ALL。

    在命名空间内部访问全局类、函数和常量:

    <?php
    namespace Foo;
    
    function strlen() {}
    const INI_ALL = 3;
    class Exception {}
    
    $a = strlen('hi'); // 调用全局函数strlen
    $b = INI_ALL; // 访问全局常量 INI_ALL
    $c = new Exception('error'); // 实例化全局类 Exception
    ?>
  • 相关阅读:
    keepass口令管理实践
    openssl实践
    Nmap
    SSH
    Wireshark 实践
    网站设计
    python database
    python gui
    Excel数据统计与分析
    2020-2021学期20202401金丁《网络空间安全专业导论》第十三周自学总结
  • 原文地址:https://www.cnblogs.com/sinceForever/p/7553243.html
Copyright © 2011-2022 走看看