<返回更多

web开发之-PHP的命名空间

2022-06-04    踢球的打工仔
加入收藏

啥是命名空间?

还是讲一个班级点名的例子吧。我们上了大学,来自五湖四海的朋友来到同一所学校,同一个班级,同一个宿舍!缘分就是这么的奇妙,有两个同学,都叫“李四”,只是来自不同的地方,一个来自A地,一个来自B地,新学期,老师让他们都做自我介绍。看下面例子:

<?php
namespace A{
  function introduce(){
    echo "我是来自A地的   ".NAME.PHP_EOL;
  }
}
namespace B{
  function introduce(){
    echo "我是来自B地的   ".NAME.PHP_EOL;
    echo "我是在B命名空间开始调用的----".PHP_EOL;
    CEsubspace();
    echo "我是在B命名空间开始调用的+++".PHP_EOL;
  };
}
namespace BCE{
  function subspace(){
        echo "我是最内层命名空间".PHP_EOL;
      }
}
namespace {
    const NAME = "李四";
    Aintroduce();
    Bintroduce();
    BCEsubspace();
    use BCE as BCE;
    BCEsubspace();
}
?>

以上会输出以下内容:

我是来自A地的   李四
我是来自B地的   李四
我是在B命名空间开始调用的----
我是最内层命名空间
我是在B命名空间开始调用的+++
我是最内层命名空间
我是最内层命名空间

注:命名空间中只能包含:接口,类,函数和常量,不能包含变量;const也是用来定义一个常量(同之前讲到的define);namespace A{}表示定义了命名空间A,大括号里的内容都属于A,要访问A命名空间里的函数,可以使用:A函数名称();最后那个namespace没有命名空间,相当于一个全局命名空间;use BCE as BCE 表示使用BCE来表示BCE的命名空间,当命名空间名称比较长时,可以使用此方式来缩短每次调用时需要写大量名称的问题。CEsubspace(),这里为啥没有写之前的B?因为这里前面没有加,表示是依据当前命名空间B开始的。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>