PHP 命名空間別名/匯入


簡介

名稱空間的一項重要功能是能夠使用別名或匯入引用外部完全限定名稱。PHP 名稱空間支援以下型別的別名或匯入 −

  • 類名別名,
  • 介面名別名,
  • 名稱空間名別名
  • 函式和常量名稱別名或匯入。

在 PHP 中,使用運算子完成別名設定。

使用運算子

示例

 動態演示

#test1.php
<?php
namespace mynamespace;
function sayhello(){
   echo "Hello from mynamespace
"; } sayhello(); namespace mynewspace; function sayhello(){    echo "Hello from my new space
"; } sayhello(); use \mynewspace\sayhello as hello; ?>

輸出

Hello from mynamespace
Hello from my new space

多個 use 語句組合

示例

 動態演示

<?php
namespace mynamespace;
class myclass{
   function test() { echo "myclass in mynamespace
"; } } class testclass{    static function test() { echo "testclass in mynamespace
"; } } 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
"; } } class testclass{    static function test() { echo "testclass in mynamespace
"; } } use \mynamespace\myclass as myclass; $a=new myclass; $b='myclass'; $c=new $b; ?>

use 關鍵字必須在最外部或全域性作用域中宣告,或在名稱空間宣告內部宣告。匯入過程在編譯時完成,而非執行時完成。因此,它不能是塊作用域的。以下用法是非法的

示例

<?php
function myfunction(){
   use myspace\myclass;
   //
   //
}
?>

包含的檔案將不會繼承父檔案的匯入規則,因為它們是按檔案為基礎的

更新於:2020 年 9 月 18 日

795 次瀏覽

開始你的 職業

完成課程後獲得認證

開始吧
廣告
© . All rights reserved.