什么是php命名空间
2014-06-10 18:53
309 查看
php命名空间是在5.3版本后加入的,命名空间反过来就是空间命名,在这里的空间命名就像window下的文件夹命名,命名空间用关键字namespace来定义。在这里用文件夹举三个例子,比如相对于test文件夹下面的home.txt文件,他相对于文件夹的路径是 test/home.txt,当前文件下他的文件名是 home.txt,他的绝对路径是/test/home.txt.
命名空间也是用三种方式来表示:
完全限定符\test\home,像文件夹中的绝对路径;
限定名称 test\home,像相对文件的目录路径;
非限定名称 home,像前面的直接使用文件名。
一直以来不太理解官方的意思,今天自己做了测试,表达一下自己的理解:
我认为命名空间就好像地球,定义命名空间就像是对国家的定义,使用命名空间就像是出国,第三个比喻可能不是很恰当,上个例子:
下面是当前访问程序代码:
结果:
总结:定义命名空间就好像告诉我们现在在哪里,上面三个文件各自定义不同的命名空间,就好像三个不同的国家,他们中的物品不可能被另一个国家的人使用,前提是必须被带到另一个国家,这里就用到了使用命名空间,官方表示 类、函数、常量都受命名空间的影响,但是我这里却没有作用,只对类有影响(下面代码
上面代码的结果是: usa\My::who
如果定义命名空间为china:
结果为:
根据以上总结,命名空间的定义就是国家的定义,在程序中就像一个大的代码库,如果想使用另一个代码库的类,就需要使用命名空间;
命名空间要求:
命名空间前面不要出现任何字符(包括空白)
第一次了解命名空间,如果上面有些定义说的不好,请留下您的意见,我对命名空间还有很多的疑问,比如:怎么使用命名空间影响常量和函数,如果你知道,或者你在哪里看到过好的解释,请给我留言
命名空间也是用三种方式来表示:
完全限定符\test\home,像文件夹中的绝对路径;
限定名称 test\home,像相对文件的目录路径;
非限定名称 home,像前面的直接使用文件名。
一直以来不太理解官方的意思,今天自己做了测试,表达一下自己的理解:
我认为命名空间就好像地球,定义命名空间就像是对国家的定义,使用命名空间就像是出国,第三个比喻可能不是很恰当,上个例子:
下面是当前访问程序代码:
结果:
总结:定义命名空间就好像告诉我们现在在哪里,上面三个文件各自定义不同的命名空间,就好像三个不同的国家,他们中的物品不可能被另一个国家的人使用,前提是必须被带到另一个国家,这里就用到了使用命名空间,官方表示 类、函数、常量都受命名空间的影响,但是我这里却没有作用,只对类有影响(下面代码
<?php /** * 当前文件名 word.php */ namespace japan; use usa\My; require_once("china.php"); require_once("usa.php"); // echo IP,'<br/>'; // echo MyFunction(),'<br/>'; echo My::who(),'<br/>';
上面代码的结果是: usa\My::who
如果定义命名空间为china:
<?php /** * 当前文件名 word.php */ namespace china; use usa\My; require_once("china.php"); require_once("usa.php"); echo IP,'<br/>'; echo MyFunction(),'<br/>'; echo My::who(),'<br/>';
结果为:
192.168.0.17 china\MyFunction usa\My::who
根据以上总结,命名空间的定义就是国家的定义,在程序中就像一个大的代码库,如果想使用另一个代码库的类,就需要使用命名空间;
命名空间要求:
命名空间前面不要出现任何字符(包括空白)
第一次了解命名空间,如果上面有些定义说的不好,请留下您的意见,我对命名空间还有很多的疑问,比如:怎么使用命名空间影响常量和函数,如果你知道,或者你在哪里看到过好的解释,请给我留言
相关文章推荐
- PHP 为什么要使用命名空间,命名空间的作用是什么,如何更好的使用命名空间【详解】
- PHP5.3新特性之命名空间
- PHP5.3新特性之命名空间
- c#【1】 串口编程:类名和命名空间是什么?有几个重要参数、并简述?
- 【命名空间的一个疑问】pDlg = ::AfxGetMainWnd(); 像这样限定符"::" 前面没有命名空间名的情况,是什么意思?我记得好像是全局的意思,不确定。
- [轉]PHP命名空间规则解析及高级功能
- ASP和PHP服务器空间是指什么?有什么不同?
- PHP手册-命名空间
- PHP 命名空间
- 什么是包和命名空间
- PHP学习之五:命名空间与异常
- C#引用WORD、EXCAL要用什么命名空间?
- PHP 5.3 中的命名空间
- 什么是命名空间
- PHP 命名空间实例说明
- php5.3新特性(一) -- 命名空间
- PHP 5.3新特性命名空间规则解析及高级功能
- PHP解析XML命名空间的3种方式(未完)
- 在写c#程序时命名空间有什么作用
- php命名空间使用教程