PHP use语句怎么用?

文章导读
Previous Quiz Next PHP 中的 "use" 关键字与多种用途相关,例如别名(aliasing)、插入 trait 以及在闭包中继承变量。
📋 目录
  1. 别名(Aliasing)
  2. Trait
  3. 闭包(Closures)
A A

PHP 的 "use" 语句



Previous
Quiz
Next

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