簡單易懂的PHP的命名空間以及配合use的使用


PHP 命名空間(namespace)是在PHP 5.3版本中加入的。

PHP 命名空間是用來解決以下兩類問題的:

  1. 用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突。
  2. 為很長的標識符名稱創建一個別名的名稱,提高源代碼的可讀性

首先我們先建立三個文件

第一個文件 A.php,里邊有兩個類,命名空間namesapce是 a\b\c(注意:這里是反斜杠);

<?php
namespace a\b\c;

class Apply{
  function get_info(){
    echo 'this is A Apply';
  }
}

class C{
  function info(){
    echo 'this is info';
  }
}
?>

第二個文件 B.php  命名空間namespace a\b\d;

<?php
namespace a\b\d;

class Apply{
  function get_info(){
    echo 'this is B Apply';
  }
}
?>

第三個文件 index.php 里需要使用到上邊兩個文件的類。

那么現在問題來了:比方說我們現在想實例化A.php里的類,該怎么實現呢?A文件的 Apply類和B.php的Apply類重名了,直接引入使用是會報錯的!

這個時候命名空間就要出場了

首先要包含這個文件 require_once('A.php');

use的用法要這樣,命名空間 \ 這個空間下你要實例化類的類名。比方說我們要實例化上面的 A.php文件里的Apply類,使用 use a\b\c\Apply;  就相當於引入這個類,接下來再  new Apply();調用里邊的方法,跟平常是一樣的。如果要實例化類C,就 use a\b\c\C;。

記得點贊收藏關注我♪(^∀^●)ノ,讓小哥哥帶你闖盪互聯網開發的世界♥♥♥♥♥


免責聲明!

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



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