博客列表 >命令空间、多命名空间的创建和成员访问;命名空间的导入(类、常量、函数),以及别名访问 2018年9月6日 22:06

命令空间、多命名空间的创建和成员访问;命名空间的导入(类、常量、函数),以及别名访问 2018年9月6日 22:06

南通税企通马主任的博客
南通税企通马主任的博客原创
2018年09月08日 20:49:28792浏览

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

实例

<?php
namespace one{
echo '<h1>用大括号语法实现在一个脚本中创建多个命名空间并访问成员</h1><hr>';

    class One
    {
        public $name = 'arthur';
    }
    const COR_NAME = ' 南通税企通';

    function doing($a,$b)
    {
     return $a+$b;
    }
}

namespace two{
    class Two
    {
        public $name = '亚瑟';
    }
    const COR_NAME = 'ntsqt';
    function doing($a,$b)
    {
        return $a+$b;
    }
    echo \one\doing(3,5),'<br>';
}

namespace {
    echo one\COR_NAME,'<hr>';
    echo two\COR_NAME,'<br>';
    echo two\doing(8,8),'<hr>';
    echo one\One::class,'<br>';
    echo two\Two::class,'<hr>';
    echo (new one\One()) ->name,'<br>';
    echo (new two\Two()) ->name;
}

运行实例 »

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

2、使用use 导入其它脚本中的类/常量/函数,并使用别名方式访问

实例

<?php
namespace task2;
use intask\Intask as AA;
use intask as BB;

echo '<h1>使用use导入其它脚本中的类/常量/函数,并使用别名方式访问</h1><hr>';

require 'task2-1.php';

echo AA::class,'<br>';
echo \intask\NAME,'<br>';
echo \intask\doing(),'<hr>';

echo BB\Intask::class,'<br>';
echo BB\NAME,'<br>';
echo BB\doing();

//总结:不管使不使用别名,原来的名字都是好用滴,怎么方便怎么来~

运行实例 »

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

3、问答: 非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?

非限定名称就相当于本空间直接访问当前目录的文件

限定名称就是使用了命名空间的前缀来访问需要访问的文件

完全限定名称则是从根空间开始的绝对路径来访问需要访问的文件

联系是什么?这个问题...我认为适用命名空间的前缀来访问是最好的方式 , 也是最具备逻辑性的方式 ,联系确实说不出来!

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