PHP – “use” 語句



PHP 中的“use”關鍵字被發現與多種用途相關聯,例如別名、插入特性以及在閉包中繼承變數。

別名

別名是透過 use 運算子實現的。它允許你使用別名或替代名稱來引用外部完全限定名稱。

示例

檢視以下示例 -

use My\namespace\myclass as Another;
$obj = new Another;

你還可以按如下方式進行分組使用宣告 -

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};

特性

藉助 use 關鍵字,你可以將特性插入類中。特性類似於類,但僅用於以細粒度和一致的方式對功能進行分組。不可能單獨例項化特性。

示例

檢視以下示例 -

<?php
   trait mytrait {
      public function hello() {
         echo "Hello World from " . __TRAIT__ .;
      }
   }

   class myclass {
      use mytrait;
   }

   $obj = new myclass();
   $obj->hello();
?>

它將產生以下輸出 -

Hello World from mytrait

閉包

閉包也是一個匿名函式,它可以藉助“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
廣告