PHP别名/导入名称空间
介绍
命名空间的重要功能是能够使用别名引用外部完全限定名称或进行导入。PHP命名空间支持以下几种别名或导入-
给类名起别名,
为接口名称起别名,
给命名空间名称起别名
别名或导入函数和常量名称。
在PHP中,别名是通过use运算符完成的。
使用运算符
示例
#test1.php
<?php
namespace mynamespace;
function sayhello(){
echo "Hello from mynamespace\n";
}
sayhello();
namespace mynewspace;
function sayhello(){
echo "Hello from my new space\n";
}
sayhello();
use \mynewspace\sayhello as hello;
?>输出结果
Hello from mynamespace Hello from my new space
多种使用陈述相结合
示例
<?php
namespace mynamespace;
class myclass{
function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass, \mynamespace\testclass;
$a=new myclass();
$a->test();
$b=new \mynamespace\testclass();
$b->test();
?>输出结果
myclass in mynamespace testclass in mynamespace
导入和动态名称
动态替换导入类的名称
示例
<?php
namespace mynamespace;
class myclass{
function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass;
$a=new myclass;
$b='myclass';
$c=new $b;
?>use关键字必须在最外部或全局范围内或在命名空间声明内声明。导入过程在编译时而不是在运行时完成。因此,不能对它进行块作用域限定。以下使用将是非法的
示例
<?php
function myfunction(){
use myspace\myclass;
//
//
}
?>包含的文件不会继承父文件的导入规则,因为它们是基于每个文件的
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法