美文网首页
PHP命名空间

PHP命名空间

作者: ResearchWorld | 来源:发表于2016-06-02 14:51 被阅读0次

    什么是命名空间

    命名空间是在php5.3以后的版本引入的。命名空间是一个抽象概念,在编程中用于封装划分一组方法or类。主要用于解决名字冲突的问题。

    • 命名空间的定义
    • 命名空间的使用导入

    命名空间的定义

    命名空间中只能包含:类(包括接口,抽象类)、函数、常量这些。
    常量属于全局空间。
    注意namespace之前只能有delcare关键字语句。

    //命名空间的定义
    <?php
    //主要使用关键字 namespace
    //定义了一个my_space的命名空间
    namespace my_space;
    //此类person属于命名空间my_space
    class person{
      public function walk(){
        echo "走路中";
      }
    }
    //定义子命名空间
    namespace my_space\my_sub_space
    /*
    如果这样去写会被解释为 my_space\my_sub_space\my_space\person
    因为这是相对路径的写法
    class alien extends my_space\person
    */
    //这个才是绝对路径的写法
    class alien extends \my_space\person{
      public function walk(){
        echo "外星人飞行中";
      }
    }
    //定义了一个全局的命名空间
    //不建议在一个文件中定义多个命名空间
    namespace {
      define('CURRENT_SPACE','global');
    }
    

    命名空间的使用导入

    <?php
    //给my_space定义了一个别名 another_spacename
    use my_space as another_spacename;
    //my_sub_space相当于 \my_space\my_sub_space
    use my_space\my_sub_space;
    //导入类名
    use test_space\classname;
    //导入函数
    use function test_space\fucname;
    //导入常量
    use const test_space\const_var;
    //导入全局类
    use global_classname;
    
    
    $p1 = new person();
    $p1->walk();
    
    $a1 = new my_sub_space\alien();
    $a1->walk();
    

    相关文章

      网友评论

          本文标题:PHP命名空间

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