博客列表 >命名空间完全限定名称与别名导入

命名空间完全限定名称与别名导入

安
原创
2020年02月18日 11:18:24766浏览

命名空间常用术语

全局成员(4):类,接口,常量,函数
全局空间:\这个反斜杠就是代表根目录的意思;
完全限定名称:从反斜杠开始一层一层打开,类似于绝对路径;
限定名称: 开头无反斜杠,中间至少有一个反斜杠,从当前目录开始,类似于相对路径;
非限定名称:无反斜杠,直接上类名,在当前目录。

魔术常量

魔术常量与常量有何不同,魔术常量不允许用户定义,是系统自带的,会随着使用场景不同而改变值
namespace返回当前命名空间
class 返回一个完全限定名称的类名称
METHOD返回一个完全限定名称类中的方法
FUNCTION返回函数名称
::class返回具有完全限定名称的类名

完全限定名称用法

  1. namespace xiaoyu;
  2. //完全限定调用类
  3. //首先先将我们的脚本导入进去
  4. require 'demo1.php';
  5. $result = \xiaoyu\lib\Demo::test();
  6. //完全限定调用接口
  7. //首先先将我们的脚本导入进去
  8. require 'demo2.php';
  9. class Demo implements xiaoyu{
  10. public static function test(){
  11. return '小雨';
  12. }
  13. }
  14. $result = \xiaoyu\Demo::test();
  15. //完全限定调用常量
  16. //首先先将我们的脚本导入进去
  17. require 'demo3.php';
  18. $result = \xiaoyu\define\MY_SITE;
  19. //完全限定调用函数
  20. //首先先将我们的脚本导入进去
  21. require 'demo4.php';
  22. $result = \xiaoyu\fun\myfun();
  23. //限定名称函数
  24. $result = fun\myfun();
  25. echo '<pre>'.print_r($result,true).'<pre/>';

导入四类全局成员

  1. namespace xiaoyu;
  2. require 'demo1.php';
  3. //导入全局成员类
  4. use xiaoyu\lib\Demo;
  5. $result = Demo::test();
  6. //导入全局成员接口
  7. require 'demo2.php';
  8. use xiaoyu\api\iTest;
  9. class Demo1 implements iTest
  10. {
  11. public static function test()
  12. {
  13. return class_implements(self::class);
  14. }
  15. }
  16. $result = Demo1::test();
  17. //导入全局成员常量
  18. //导入常量和函数的时候需要在use 后面声明一下是 const还是function
  19. require 'demo3.php';
  20. use const xiaoyu\define\MY_SITE;
  21. $result = MY_SITE;
  22. //导入全局成员函数
  23. require 'demo4.php';
  24. use function xiaoyu\fun\myfun;
  25. $result = myfun();
  26. echo '<pre>'.print_r($result,true).'<pre/>';

导入别名方式

  1. namespace xiaoyu;
  2. //别名引用
  3. require 'demo2.php';
  4. use xiaoyu\api\iTest as Test;
  5. class Demo implements Test
  6. {
  7. public static function test()
  8. {
  9. return class_implements(self::class);
  10. }
  11. }
  12. $result = Demo::test();
  13. echo '<pre>'.print_r($result,true).'<pre/>';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议