PHP – “use” 语句


发现 PHP 中的 “use” 关键字与多种用途相关联,例如 别名(Aliasing)、插入 特征(trait) 和在闭包(Closure)继承变量。

别名(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)插入到类中。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

闭包(Closure)

闭包(Closure)也是一个匿名函数,可以借助 “use” 关键字访问其范围之外的变量。

例子

请看下面的例子 -


<?php
   $maxmarks=300;
   $percent=function ($marks) use ($maxmarks) {
      return $marks*100/$maxmarks;
   };
   $m = 250;
   echo "评分=$m 百分比=". $percent($m);
?>

它将产生以下输出 -

评分=250 百分比=83.333333333333