Blogger Information
Blog 34
fans 0
comment 1
visits 23396
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
细说命名空间 —2018年9月6日23时45分
感恩的心的博客
Original
550 people have browsed it


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

实例

<?php

//声明命名空间
//namespace1
namespace one{
class Demo{
public $name = 'Lao Fashi';
}

const SITE = 'CRRC';

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

}
//namespace2
namespace Two{
class Demo {
public $name = 'Shi Laoshi';

}

const SITE = 'TEG';

function add($a, $b) {
return $a + $b;
}
}
//namespace3
namespace Three{
echo (new \Two\Demo)->name, '<br>';
echo 'Namespace is ', __NAMESPACE__, '<br>';


//访问其他空间
echo (new \one\Demo)->name, '<br>';
}

运行实例 »

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


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

实例

<?php
//声明命名空间one


namespace one;
require 'two/three/demo.php';

use one\two\three\Demo as DemoOthers;

class Demo{
    public $name='Mr Shi';
    const SITE='www.amtb.cn';
    function add($x,$y){return $x+$y;}
    
}

echo (new DemoOthers)->name;

运行实例 »

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


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

(1)非限定名称:类似当前目录下访问,当前空间内访问不需要添加空间前缀;

(2)限定名称: 类似于相对路径访问,two\Demo 会自动加上当前空间前缀:one,最终解析为: one\two\Demo;

(3)完全限定名称:从全局空间开始,类似于从根目录开始,从当前的\one\two\开始,访问另一个空间的成员,要从根开始。


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post