php命名空间详解

文章热词:php,命名空间

日期:2019-06-29 08:49 by 杨国伟 452 0 收藏
我要分享

摘要:PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性

一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类

简单来说:namespace就相当于是用来建一个目录,将namespace下面的代码放在该目录里面,与外面的区分开来。

例如:

/**
*namespace 之前不能有任何代码,除了declare();多个文件可以使用同一个命名空间,但同一命名空间下定义的内容是不能冲突的。namespace支持子命名空间,如:namespace myselfgood,相当于多级目录的概念。
<?php
  namespace myself;
  function var_dump()
  {
    echo 100;
  }
  var_dump();        //调用自定义函数(相对路径方式)
  myselfar_dump();    //调用自定义函数(绝对路径方式)
  ar_dump(100);     //调用全局的(系统的函数)
?>

二. 同一文件中存在多个命名空间的情况

/**
* 同一文件中若使用了多个命名空间,一般写法
*/
namespace nihaoshijie;
function demo()
{
  //.......
}
namespace helloworld;
function test()
{
 //........
}
ihaoshijiedemo();
helloworldest();
/**
* 同一文件中若使用了多个命名空间,建议大括号扩起来
*   同一文件内使用多个命名空间,主要用于项目将多个PHP脚本合并在同一文件中,实际中不提倡使用!
*/
namespace nihaoshijie{
  function test_one()
  {
 //......
  };
}
namespace helloworld{
  function test_two()
  {
 //........
  }
}
ihaoshijieest_one();
helloworldest_two();

三. 名称解析规则(几个概念)

1.非限定名称:名称中不包含命名空间分割符,如:myself


2.限定名称:名称中含有命名空间分割符,如:nihaoshijie


3.完全限定名称:名称中包含分割符,并以命名空间分割符开始,如: ihaoshijie  (即绝对路径的概念)

四.使用命名空间

1.use关键字目的是使用命名空间的别名:


use ihaoshijie as shijie


2.及时在一个命名空间要使用另一个文件中的类或者方法都需要include或者require需要的文件

上一篇:swoole+PHP实现自动取消订单,还原库存等操作

下一篇:PHP实现解析抖音无水印视频


评论