美文网首页
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命名空间和公共空间

    PHP命名空间 PHP 命名空间(namespace)是在PHP 5.3中加入的。PHP 命名空间可以解决以下两类...

  • php命名空间与自动加载

    命名空间(PHP 5 >= 5.3.0, PHP 7) 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法...

  • PHP 新手入门指南 - 使用命名空间

    首先来了解一下命名空间: (PHP 5 >= 5.3.0, PHP 7) 什么是命名空间?从广义上来说,命名空间是...

  • php初级讲义11-命名空间

    命名空间的概念 命名空间是一种封装事物的方法。 命名空间用namespace关键字来声明。 以PHP或php为名或...

  • php命名空间

    [PHP命名空间的作用、为什么使用命名空间?] 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或...

  • PHP命名空间

    一、命名空间概述 1、什么是命名空间 1)从广义上来说,命名空间是一种封装事物的方法。2)在很多地方都可以见到这种...

  • PHP——命名空间

    PHP命名空间的作用、为什么使用命名空间 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出...

  • php 命名空间

    命名空间 什么是命名空间? 广义来说,是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目...

  • PHP命名空间

    什么是命名空间 命名空间是在php5.3以后的版本引入的。命名空间是一个抽象概念,在编程中用于封装划分一组方法or...

  • PHP命名空间

    可以访问const的、函数和对象; define不可以! 1,非限定命名空间:echo a 2,限定命名空间ech...

网友评论

      本文标题:PHP命名空间

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