Heim > php教程 > php手册 > PHP namespace 命名空间详解

PHP namespace 命名空间详解

WBOY
Freigeben: 2016-05-25 16:57:07
Original
1003 Leute haben es durchsucht

在这里中我们介绍了php教程命名空间的用途和namespace关键字,在这篇文章中我们将介绍一下use命令的使用以及php如何解析命名空间的名字的。

namespace bakbaba;
function bab(){
    echo "bi";
}
namespace kkk;
function k1(){
    echo "k1";
}
Nach dem Login kopieren


bakbababab();//在kkk的命名空间下使用别的命名空间,注意前面的
use bakbaba as b;//依旧在kkk的命名空间下,但是用别名的的时候以下方法也正确
#use bakbaba as b;//前面可以不使用号
bbab();//使用别名下命名空间的时候前面不该有号
k1();//调用该函数没有报错,说明use不影响当前当前命名空间

 

 
 

lib2.php
 
Nach dem Login kopieren

幸好在手册中发现这么一段代码,故手册中其他关于namespace的内容,就可以忽略了,直接看下面的代码

 

<?php
namespace a;
use bd, ce as f;
// 函数调用
foo();      // 首先尝试调用定义在命名空间"a"中的函数foo()
            // 再尝试调用全局函数 "foo"
foo();     // 调用全局空间函数 "foo"
myfoo();   // 调用定义在命名空间"amy"中函数 "foo"
f();        // 首先尝试调用定义在命名空间"a"中的函数 "f" 
            // 再尝试调用全局函数 "f"
// 类引用
new b();    // 创建命名空间 "a" 中定义的类 "b" 的一个对象
            // 如果未找到,则尝试自动装载类 "ab"
new d();    // 使用导入规则,创建命名空间 "b" 中定义的类 "d" 的一个对象
            // 如果未找到,则尝试自动装载类 "bd"
new f();    // 使用导入规则,创建命名空间 "c" 中定义的类 "e" 的一个对象
            // 如果未找到,则尝试自动装载类 "ce"
new b();   // 创建定义在全局空间中的类 "b" 的一个对象
            // 如果未发现,则尝试自动装载类 "b"
new d();   // 创建定义在全局空间中的类 "d" 的一个对象
            // 如果未发现,则尝试自动装载类 "d"
new f();   // 创建定义在全局空间中的类 "f" 的一个对象
            // 如果未发现,则尝试自动装载类 "f"
// 调用另一个命名空间中的静态方法或命名空间函数
bfoo();    // 调用命名空间 "ab" 中函数 "foo"
b::foo();   // 调用命名空间 "a" 中定义的类 "b" 的 "foo" 方法
            // 如果未找到类 "ab" ,则尝试自动装载类 "ab"
d::foo();   // 使用导入规则,调用命名空间 "b" 中定义的类 "d" 的 "foo" 方法
            // 如果类 "bd" 未找到,则尝试自动装载类 "bd"
bfoo();   // 调用命名空间 "b" 中的函数 "foo"
b::foo();  // 调用全局空间中的类 "b" 的 "foo" 方法
            // 如果类 "b" 未找到,则尝试自动装载类 "b"
// 当前命名空间中的静态方法或函数
ab::foo();   // 调用命名空间 "aa" 中定义的类 "b" 的 "foo" 方法
              // 如果类 "aab" 未找到,则尝试自动装载类 "aab"
ab::foo();  // 调用命名空间 "ab" 中定义的类 "b" 的 "foo" 方法
              // 如果类 "ab" 未找到,则尝试自动装载类 "ab"
Nach dem Login kopieren

本文地址:

转载随意,但请附上文章地址:-)

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage