简单易懂的PHP的命名空间以及配合use的使用


PHP 命名空间(namespace)是在PHP 5.3版本中加入的。

PHP 命名空间是用来解决以下两类问题的:

  1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
  2. 为很长的标识符名称创建一个别名的名称,提高源代码的可读性

首先我们先建立三个文件

第一个文件 A.php,里边有两个类,命名空间namesapce是 a\b\c(注意:这里是反斜杠);

<?php
namespace a\b\c;

class Apply{
  function get_info(){
    echo 'this is A Apply';
  }
}

class C{
  function info(){
    echo 'this is info';
  }
}
?>

第二个文件 B.php  命名空间namespace a\b\d;

<?php
namespace a\b\d;

class Apply{
  function get_info(){
    echo 'this is B Apply';
  }
}
?>

第三个文件 index.php 里需要使用到上边两个文件的类。

那么现在问题来了:比方说我们现在想实例化A.php里的类,该怎么实现呢?A文件的 Apply类和B.php的Apply类重名了,直接引入使用是会报错的!

这个时候命名空间就要出场了

首先要包含这个文件 require_once('A.php');

use的用法要这样,命名空间 \ 这个空间下你要实例化类的类名。比方说我们要实例化上面的 A.php文件里的Apply类,使用 use a\b\c\Apply;  就相当于引入这个类,接下来再  new Apply();调用里边的方法,跟平常是一样的。如果要实例化类C,就 use a\b\c\C;。

记得点赞收藏关注我♪(^∀^●)ノ,让小哥哥带你闯荡互联网开发的世界♥♥♥♥♥


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM