简单易懂的PHP的命名空间以及配合use的使用
PHP 命名空间(namespace)是在PHP 5.3版本中加入的。
PHP 命名空间是用来解决以下两类问题的:
- 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
- 为很长的标识符名称创建一个别名的名称,提高源代码的可读性
首先我们先建立三个文件
第一个文件 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;。
记得点赞收藏关注我♪(^∀^●)ノ,让小哥哥带你闯荡互联网开发的世界♥♥♥♥♥