PHP namespace 命名空间详解
在这里中我们介绍了php教程命名空间的用途和namespace关键字,在这篇文章中我们将介绍一下use命令的使用以及php如何解析命名空间的名字的。
<blockquote>namespace bakbaba;function bab(){
echo "bi";
}
namespace kkk;
function k1(){
echo "k1";
}</blockquote>
bakbababab();//在kkk的命名空间下使用别的命名空间,注意前面的
use bakbaba as b;//依旧在kkk的命名空间下,但是用别名的的时候以下方法也正确
#use bakbaba as b;//前面可以不使用号
bbab();//使用别名下命名空间的时候前面不该有号
k1();//调用该函数没有报错,说明use不影响当前当前命名空间
<blockquote>
< ?php
// application library 1
namespace applib1;
const myconst = 'applib1myconst';
function myfunction() {
return __function__;
}
class myclass {
static function whoami() {
eturn __method__;
}
}
?>
lib2.php
< ?php
// application library 2
namespace applib2;
const myconst = 'applib2myconst';
function myfunction() {
return __function__;
}
class myclass {
static function whoami() {
eturn __method__;
}
}
?>
幸好在手册中发现这么一段代码,故手册中其他关于namespace的内容,就可以忽略了,直接看下面的代码
<blockquote>
<?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"
?>
您可能感兴趣的文章:
PHP 核心特性之命名空间
PHP新特性命名空间的详解介绍
PHP的命名空间使用详解
PHP——命名空间(namespace)使用详细介绍
php中命名空间学习基础知识记忆
PHP命名空间的用途和namespace关键字
命名空间
php命名空间实例解析
PHP的命名空间学习笔记与测试
php中use的用法