博主信息
博文 30
粉丝 0
评论 0
访问量 28173
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
9.6命名空间
归宿的博客
原创
829人浏览过
  1. 用大括号语法实现一个脚本中创建多个命名空间并访问成员:


namespace One{
    const NAME = 'peter';
    class Db
    {
        public static function demo()
        {
            return __METHOD__;
        }
    }
    function hello()
    {
        return '欢迎学习php';
    }

    //访问Two成员
    echo hello().'<hr>';
    echo \Two\hello().'<hr>';   //Two的hello
    print_r(NAME);
}


namespace Two\Three{
    const NAME = '我是Two\Three定义的常量';
}

namespace Two{
    const NAME = '朱老师';
    class Db
    {
        public static function demo()
        {
            return __METHOD__;
        }
    }
    function hello()
    {
        return '欢迎来php中文网学习php';
    }
//    echo __NAMESPACE__.'12';  打印命名空间
    echo NAME,'<hr>';  //1.非限定名称: 类似于当前文件
    echo Three\NAME;   //2.限定名称:   使用命名空间前缀(相对于相对路径)
    echo \One\NAME.'<hr>';   //3.完全限定名称: 从根空间/完全限定空间开始找(相当于绝对路径)
    echo '当前的命名空间是:'.__NAMESPACE__.'<hr>';
    echo namespace\Db::demo();
    echo namespace\Three\NAME;
}

2.use导入类,并使用别名访问

<?php
namespace test1;
require '9.6test2.php';
//use  test2\Test2;  //导入类,并且类的别名默认就是test2
//use  test2\Test1 as Testnew;  //如果导入的类名和当前类中的类名冲突,需要 'as' 关键字起个别名
use test2\test3\test4 as hello;  //导入类名空间的别名
class Test1
{
    public static function demo()
    {
        return __METHOD__;
    }
}

echo Test1::demo().'<hr>';
echo hello\Test1::demo();

3.限定,非限定,完全限定的命名空间之间的区别与联系

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学