Blogger Information
Blog 18
fans 0
comment 0
visits 10874
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
2.10号作业
- 迷舍人
Original
674 people have browsed it

完全限定名称访问四类全局成员的方式

  1. // 1非限制名称:类名称前不允许有反斜线
  2. // $result = demo1::index();
  3. $result = namespace\demo1::index();
  4. echo '<pre>'.print_r($result,true).'</pre>';
  5. echo '<hr>';
  6. // 2使用完全限定名称 访问具有完整命名空间的成员
  7. require 'demo3.php';
  8. // 完全限定名称的类名,必须要从全局空间进行查询
  9. $result2 = \chapter1\lib\demo1::index();
  10. echo '<pre>'.print_r($result2,true).'</pre>';
  11. // 3使用限定名称来访问具有空间的成员
  12. // 限定名称,可以看作是完全限定名称的一个子集
  13. // 只要一个类名称前面至少有一个 \ ,而且这个 \ 不是第一个字符,他一定是限定名称
  14. echo '<hr>';
  15. require 'demo4.php';
  16. class test implements api\itest
  17. {
  18. public static function hello()
  19. {
  20. return self::class;
  21. }
  22. }
  23. $result3 = class_implements(test::hello());
  24. echo '<pre>'.print_r($result3,true).'</pre>';
  25. // 4命名空间常量
  26. // echo __NAMESPACE__;
  27. // call_user_func(['类名','类中的静态方法']);
  28. echo '<hr>';
  29. $result4 = call_user_func([__NAMESPACE__.'\lib\demo1','index']);
  30. echo '<pre>'.print_r($result4,true).'</pre>';

导入四类全局全局成员的方式

  1. namespace chapter1;
  2. // 1导入完全限定名称的类
  3. use chapter1\lib\demo1;
  4. require 'demo3.php';
  5. $result = demo1::index();
  6. // 2导入完全限定名称的接口
  7. require 'demo4.php';
  8. use chapter1\api\itest;
  9. class test implements itest
  10. {
  11. public static function hello()
  12. {
  13. return class_implements(self::class);
  14. }
  15. }
  16. $result = test::hello();
  17. // 3导入完全限定名称的函数
  18. require 'demo5.php';
  19. use function chapter1\common\getinfoname;
  20. $result = getinfoname();
  21. // 4导入完全限定名称的常量
  22. require 'demo6.php';
  23. use const chapter1\param\name;
  24. $result = name;
  25. // use 导入命名空间
  26. use chapter1\lib;
  27. $result = lib\demo1::index();

全局成中的别名引用方式

  1. // 别名机制
  2. class user
  3. {
  4. }
  5. require 'demo8.php';
  6. use chapter1\admin\user as userclass;
  7. $result = userclass::name();
  8. echo '<pre>'.print_r($result,true).'<pre>';

完全限定名称, 限定名称与非限定名称

非限定用use | 完全限定:命名空间根目录相同即可

use 解决了什么什么?

声明使用某个命名空间中的类

::class操作符为什么比NAMESPACE好用? 具体应用场景有哪些?

我觉得更简洁。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:::class生成的是真正的类, 不仅仅是名称,可以直接实例化
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