博客列表 >第11章 0223-命名空间2与数据库基础1,学习心得、笔记(命名空间引入方式,类的别名引入,自动加载类)

第11章 0223-命名空间2与数据库基础1,学习心得、笔记(命名空间引入方式,类的别名引入,自动加载类)

努力工作--周工--Robin
努力工作--周工--Robin原创
2021年03月01日 17:29:59583浏览

示例运行截图

2、命名空间引入方式,类的别名引入,自动加载类,示例代码

  1. namespace www {
  2. //命名空间的3种引用方式
  3. class Msg
  4. {
  5. public static function outPut(): void
  6. {
  7. echo "这里是: " . __METHOD__ . "方法...";
  8. }
  9. }
  10. echo "<h4>------命名空间的3种引用方式-------------------------</h4>";
  11. // 1. 非限定名称, 相当于“当前路径”
  12. echo Msg::outPut(), "<br>";
  13. // 2. 限定名称, 相当于“相对路径”
  14. echo php\Msg::outPut(), "<br>";
  15. // 3. 完全限定名称, 相当于“绝对路径”
  16. echo \gitHub\com\cn\Msg::outPut(), "<br>";
  17. echo "<h4>----类的别名引入,当引入的类,与现有空间的类名相同时----</h4>";
  18. //类的别名引入
  19. use gitHub\com\cn\Msg as Msg1;
  20. echo Msg1::outPut(), "<br>";
  21. //在引入类中,起的别名与原始的类名相同,在当前空间没冲突时,可以不写别名
  22. use gitHub\com\cn\Message;
  23. echo Message::outPut(), "<br>";
  24. echo "<h4>------自动加载类, 的使用------------------------------</h4>";
  25. // 使用自动加载器
  26. require 'loader.php';
  27. use www\java\MsgJava;
  28. echo MsgJava::outPut(), "<br>";
  29. use www\php\MsgPhp;
  30. echo MsgPhp::outPut(), "<br>";
  31. }
  32. namespace www\php {
  33. class Msg
  34. {
  35. public static function outPut(): void
  36. {
  37. echo "这里是: " . __METHOD__ . "方法...";
  38. }
  39. }
  40. }
  41. namespace gitHub\com\cn {
  42. class Msg
  43. {
  44. public static function outPut(): void
  45. {
  46. echo "这里是: " . __METHOD__ . "方法...";
  47. }
  48. }
  49. class Message
  50. {
  51. public static function outPut(): void
  52. {
  53. echo "这里是: " . __METHOD__ . "方法...";
  54. }
  55. }
  56. }

2、自动加载类,代码

  1. spl_autoload_register(function ($name) {
  2. $file = str_replace('\\', DIRECTORY_SEPARATOR, $name). '.php';
  3. require $file;
  4. });
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议