1. 程式人生 > >簡單易懂的PHP的命名空間以及配合use的使用

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

names div app 斜杠 三方 func color new php文件

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

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

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