PHP面向對象——命名空間namespace


1.命名空間namespace

含義:封裝事物的方法

作用解決名字沖突的問題。  

注意1.當在字符串中使用命名空間名字的時候,一定不要忘了轉義\

      2.所有在非用戶定義的命名空間中的聲明(類、函數、常量),都默認的屬於全局命名空間。

用法定義命名空間):

Namespace 空間名字{  

class Test{
  
                           }

}

           注意:1.沒有空間名字則表示 全局空間的代碼塊

一個文件中定義多個命名空間:

<?php
namespace MyNamespace {
}
 
namespace MySecondNamespace {
}
 
namespace {
}

我們也可以將一個命名空間分散在不同的文件中,文件包含的處理程序會自動合並他們。因此,限制大量的命名空間在同一個文件中定義是一個很好的編程實踐,就像我們通常單獨為每個類定義一個單獨的文件一樣

 

 

namespace必須聲明在所有代碼的最前面

調用:

<?php//文件名a1.php

/*
* 命名空間 namespace
*/
namespace lovo;

class TestNamespace{
public function test(){
echo '掉用了我';
}

}

 ?php//第2個PHP
// namespace必須聲明在所有代碼的最前面
//namespace lovo;
require_once('a1.php');
// 使用use可以指定加載的命名空間及其對應的類,同時在類名后面可以使用as關鍵字指定某個類的別名
// 一旦起了別名后,在當前文件中就可以使用這個別名來創建對應的類的對象
use lovo\TestNamespace as MyTest;

$test4 = new \lovo\TestNamespace();
$test5 = new MyTest();
$test5->test();
var_dump($test5);

 注意:PHP並不支持命名空間的嵌套定義

一個文件可以定義多個命名空間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM