博主信息
博文 52
粉丝 0
评论 3
访问量 54194
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php学习:第15章 细说命名空间
王小飞
原创
729人浏览过

1.限定名称,非限定名称,完全限定名称

  1. namespace ns\a1;
  2. echo __NAMESPACE__ . '<br>';
  3. class lei{
  4. public static $name = '空间ns\a1 - 类lei';
  5. }
  6. //这里是非限定名称 没有任何路径
  7. echo lei::$name;
  8. namespace ns;
  9. echo __NAMESPACE__ . '<br>';
  10. echo \ns\a2\lei::$name . '<br>';
  11. // 限定名称 本空间和另一个空间名称开头一致
  12. echo a2\lei::$name;
  13. class lei{
  14. public static $name = '空间nsa2 - 类lei';
  15. }
  16. namespace ns\a2;
  17. echo __NAMESPACE__ . '<br>';
  18. class lei{
  19. public static $name = '空间ns\a3 - 类lei';
  20. }
  21. // 完全限定名称 从根目录开始 开头带/
  22. echo \ns\a1\lei::$name;

总结:
非限定名称 没有任何路径
限定名称 本空间和另一个空间名称开头一致
完全限定名称 从根目录开始 开头带/

2.命名空间的别名, 与类别名

  1. namespace ns1;
  2. class lei
  3. {
  4. public static $name = '空间ns1 - 类lei';
  5. }
  6. namespace ns2;
  7. class lei1
  8. {
  9. public static function index()
  10. {
  11. return '这里是个方法1可以写html 可以加载一个文件';
  12. }
  13. }
  14. class lei2
  15. {
  16. public static function cate()
  17. {
  18. return '这里是个方法2可以写html 可以加载一个文件';
  19. }
  20. }
  21. namespace ns3;
  22. //将空间ns1变名为 n
  23. use ns1 as n;
  24. echo n\lei::$name . '<hr>';
  25. //将ns1\lei类的名称更改 类名称可以省略别名
  26. use ns1\lei;
  27. echo lei::$name;

3. 类文件的自动加载器

  1. //先把自动加载器文件加载过来
  2. require 'autoload.php';
  3. //自动加载器里面的代码
  4. try {
  5. // 注册一个自动加载器 参数是回调函数 函数就是类名
  6. spl_autoload_register(function($className){
  7. //1. 应该将类名中的命名空间的分隔符转为目录分隔符
  8. $path = str_replace('\\', DIRECTORY_SEPARATOR, $className);
  9. // 2. 生成真正要加载的类文件名称
  10. $file = __DIR__ . DIRECTORY_SEPARATOR . $path . '.php';
  11. // 3. 加载这个文件
  12. require $file;
  13. return $file;
  14. });
  15. } catch (Exception $e) {
  16. die($e->getMessage());
  17. }
  18. //自动加载器里面的代码结束
  19. //这里很重要 你不use给他别名 在echo他的路径就不会显示
  20. use inc\lib\Demo1;
  21. //打印
  22. echo Demo1::say();

总结:抽空多复习,多看手册,写案例代码

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:给每一行代码加上注释是一个好习惯, 便于以后复习
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学