Blogger Information
Blog 36
fans 0
comment 0
visits 28227
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
面向对象——命名空间、类文件的自动加载类实现
phpcn_u202398
Original
845 people have browsed it

1、命名空间

代码示例
  1. <?php
  2. namespace user\name;
  3. class Name{
  4. public static function name(){
  5. return "我是张三";
  6. }
  7. }
  8. //非限定名称
  9. echo Name::name();
  10. echo "<hr>";
  11. namespace user\sex;
  12. class Name{
  13. public static function name(){
  14. return "我是李四";
  15. }
  16. }
  17. echo "<hr>";
  18. namespace user\age;
  19. class Name{
  20. public static function name(){
  21. return "我是王五";
  22. }
  23. }
  24. //完全限定名称
  25. echo \user\name\Name::name()."<br>";
  26. echo \user\sex\Name::name()."<br>";
  27. echo \user\age\Name::name();
  28. echo "<hr>";
  29. namespace user;
  30. //限定名称
  31. echo sex\aaa::name() ;
  32. namespace user\sex;
  33. class aaa{
  34. public static function name(){
  35. return "我是aaa";
  36. }
  37. }
  38. ?>

2、命名空间别名、类别名

代码示例
  1. <?php
  2. namespace user{
  3. class name{
  4. public static function name(){
  5. return "我是张三";
  6. }
  7. }
  8. class age{
  9. public static function age(){
  10. return "23岁";
  11. }
  12. }
  13. }
  14. namespace Infor{
  15. //命名空间别名
  16. use user as U;
  17. echo U\name::name();
  18. echo "<hr>";
  19. //命名类别名
  20. use user\age as N;
  21. echo N::age();
  22. }
  23. ?>

3、类文件的自动加载类实现

  • spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载
代码示例
  1. <?php
  2. try {
  3. spl_autoload_register(function($className){
  4. $path = str_replace('\\', DIRECTORY_SEPARATOR, $className);
  5. $file = __DIR__ . DIRECTORY_SEPARATOR . $path . '.php';
  6. require $file;
  7. });
  8. } catch (Exception $e) {
  9. die($e->getMessage());
  10. }
  11. use lib\demo;
  12. echo demo::say();
  13. ?>

学习总结

本节课我们学习了命名空间、类文件的自动加载类实现的知识,学到了非限定名称、限定名称、完全限定名称的知识以及使用,学到了自动加载器的知识以及使用,希望通过以后实战进行强化和灵活运用。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:这些知识看上去不多, 不难, 其实挺不容易掌握, 得多想想
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