Blogger Information
Blog 15
fans 0
comment 0
visits 10885
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
命名空间完全限定名称与别名导入
Original
770 people have browsed it

命名空间常用术语

全局成员(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/>';
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post