PHP 的 "use" 语句
PHP 中的 "use" 关键字与多种用途相关,例如别名(aliasing)、插入 trait 以及在闭包中继承变量。
别名(Aliasing)
别名通过 use 操作符实现。它允许你使用别名或备用名称来引用外部的完全限定名。
示例
请看下面的示例 −
use My\namespace\myclass as Another; $obj = new Another;
你也可以使用分组的 use 声明,如下所示 −
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
Trait
借助 use 关键字,你可以将一个 trait 插入到 class 中。Trait 类似于 class,但仅用于以细粒度和一致的方式对功能进行分组。无法单独实例化一个 Trait。
示例
请看下面的示例 −
<?php
trait mytrait {
public function hello() {
echo "Hello World from " . __TRAIT__ .;
}
}
class myclass {
use mytrait;
}
$obj = new myclass();
$obj->hello();
?>
它将产生以下输出 −
Hello World from mytrait
闭包(Closures)
闭包也是一个匿名函数,它可以通过 "use" 关键字访问其作用域外的变量。
示例
请看下面的示例 −
<?php
$maxmarks=300;
$percent=function ($marks) use ($maxmarks) {
return $marks*100/$maxmarks;
};
$m = 250;
echo "marks=$m percentage=". $percent($m);
?>
它将产生以下输出 −
marks=250 percentage=83.333333333333