博客列表 >第十三课—命名空间 2018年9月6日 20时00分

第十三课—命名空间 2018年9月6日 20时00分

空白
空白原创
2018年09月08日 22:34:08583浏览

用大括号语法实现在一个脚本中创建多个命名空间并访问成员

实例

<?php
/**
 * 在一个文件中创建多个命名空间
 */
namespace Demo1
{
    function show()
    {
        echo '当前命名空间是:',__NAMESPACE__,'<br>';
    }
}

namespace Demo2
{
    function show()
    {
        echo '当前命名空间是:',__NAMESPACE__,'<br>';
    }

    echo show(),'<br>';
    echo \Demo1\show(),'<hr>';
}

namespace
{
    echo \Demo1\show(),'<br>';
    echo \Demo2\show();
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

1.png

以别名方式访问命名空间下的类、属性和方法

实例

<?php
/**
 * 以别名方式访问命名空间下的类、属性和方法
 */
use \Demo1\Demo as De1;
require 'space/tr1.php';
echo (new De1)::NAME,'<br>';
echo (new De1)->fun,'<br>';
echo (new De1)->show(),'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php
namespace Demo1
{
    class Demo
    {
        const NAME = 'space1';
        public $fun = __NAMESPACE__;
        public function show()
        {
            echo __NAMESPACE__,'下的',__FUNCTION__,'方法';
        }
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2.png


非限定名称,限定名称和完全限定名称的命名空间之间的区别:

    非限定名称不包含命名空间分隔符的标识符,限定名称含有命名空间分隔符的标识符,完全限定名称包含命名空间分隔符,并以命名空间分隔符开始的标识符。

非限定名称,限定名称和完全限定名称的命名空间之间的联系:

    都需要使用use导入

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议