PHPnamespace如何使用

來源:互聯網
上載者:User
這次給大家帶來PHPnamespace如何使用,使用PHPnamespace的注意事項有哪些,下面就是實戰案例,一起來看一下。

本文執行個體講述了PHP命名空間namespace定義及匯入use用法。分享給大家供大家參考,具體如下:

在PHP中,出現同名函數或是同名類是不被允許的。為防止編程人員在項目中定義的類名或函數名出現重複衝突,在PHP5.3中引入了命名空間這一概念。

1.命名空間,即將代碼劃分成不同空間,不同空間的類名相互獨立,互不衝突。一個php檔案中可以存在多個命名空間,第一個命名空間前不能有任何代碼。內容空間聲明後的代碼便屬於這個命名空間,例如:

<?phpecho 111;  //由於namespace前有代碼而報錯namespace Teacher;class Person{  function construct(){   echo 'Please study!';  }}

2.調用不同空間內類或方法需寫明命名空間。例如:

<?phpnamespace Teacher;class Person{  function construct(){   echo 'Please study!<br/>';  }}function Person(){  return 'You must stay here!';};namespace Student;class Person{  function construct(){   echo 'I want to play!<br/>';  }}new Person();     //本空間(Student空間)new \Teacher\Person();   //Teacher空間new \Student\Person();   //Student空間echo \Teacher\Person();   //Teacher空間下Person函數

輸出:

I want to play!Please study!I want to play!You must stay here!

3.在命名空間內引入其他檔案不會屬於本命名空間,而屬於公用空間或是檔案中本身定義的命名空間。例:

首先定義一個1.php和2.php檔案:

<?php  //1.phpclass Person{ function construct(){   echo 'I am one!<br/>';  }}
<?phpnamespace Newer;require_once './1.php';new Person();  //報錯,找不到Person;new \Person();  //輸出 I am tow!;
<?php  //2.phpnamespace Twoclass Person{ function construct(){   echo 'I am tow!<br/>';  }}
<?phpnamespace New;require_once './2.php';new Person();  //報錯,(當前空間)找不到Person;new \Person();  //報錯,(公用空間)找不到Person;new \Two\Person(); //輸出 I am tow!;

4.下面我們來看use的使用方法:(use以後引用可簡寫)

namespace School\Parents;class Man{  function construct(){   echo 'Listen to teachers!<br/>';  }}namespace School\Teacher;class Person{  function construct(){   echo 'Please study!<br/>';  }}namespace School\Student;class Person{  function construct(){   echo 'I want to play!<br/>';  }}new Person();     //輸出I want to play!new \School\Teacher\Person(); //輸出Please study!new Teacher\Person();   //報錯----------use School\Teacher;new Teacher\Person();   //輸出Please study!----------use School\Teacher as Tc;new Tc\Person();   //輸出Please study!----------use \School\Teacher\Person;new Person();   //報錯----------use \School\Parent\Man;new Man();   //報錯

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

PHP直接實現產生海報廣告

PHP判斷是開啟還是瀏覽器開啟

怎樣用一條SQL語句查詢不同的資料庫

JS擷取select下拉框中第一順位元素內的值

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.