博主信息
博文 17
粉丝 0
评论 0
访问量 15209
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
细说名命空间学习心得
越努力越幸运
原创
674人浏览过

//非限定名称:


namespace ns2;


     class Demo2{

    

     }

     echo Demo2::class.'是非限定名称<br>' ;


namespace ns3\first;


     class Demo3{

    

     }

     echo first\Demo3::class .'是限定名称<br>';

namespace ns4;


     echo \ns3\first\Demo3::class.'是完全限定名称<br>' ;

    

    //匿名空间就是全局空间;访问时就用反斜杠:\;

    //多个命名空间用大括号如:namespace ns1{}    namespace ns2{}

    

//别名


//命名空间别名


namespace ns5;

     class Demo5{

         public function say(){

              return '别名';

         }

     }


//类别名:提倡用,避免名字冲突

namespace ns6;

     use ns5 as t5;

     echo t5\Demo5::say().'<br>';

    

     use ns5\Demo5 as t6;

     echo t6::say().'<br>';

    

    

     use ns5\Demo5;

     echo Demo5::say().'<br>';


//自动加载的两个条件:

//1.命名空间必须和类文件所在的绝对路径一一对应;

//2.当前类名称与当前的类文件的名称完全一致;


//举例:inc\lib:

/*

     require 'inc/lib/D1.php';

     require 'inc/lib/D2.php';

     require 'inc/lib/D3.php';

    

    

     echo \inc\lib\D1::class ,'<br>';

     echo \inc\lib\D2::class ,'<br>';

     echo \inc\lib\D3::class ,'<br>';

*/

//优雅的写法:

/*

     use inc\lib\D1;

     use inc\lib\D2;

     use inc\lib\D3;

    

     echo D1::class,'<br>';

     echo D2::class,'<br>';

     echo D3::class,'<br>';

*/

//自动加载:


     echo __DIR__;

     echo '<hr>';

    

     $classname='inc\lib\D1';

//步骤:

     //1.将类名中的命名空间分隔符(反斜线)转变为目录分隔符:

     //window:反斜线;linux:正斜线;

     //DIRECTORY_SEPARATOR:目录分隔符;

    

     $path=str_replace('\\', DIRECTORY_SEPARATOR, $classname);

     echo $path,'<br>';

    

     //2.生成真正要加载的类文件名称

     $file=__DIR__.DIRECTORY_SEPARATOR.$path.'.php';

     echo $file,'<br>';

    

     //3.加载这个文件

     require $file;

    

     use inc\lib\D1;

     echo D1::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+教程免费学