2011-01-25 61 views
97

\在PHP中做什麼?PHP(5.3+)有什麼(反斜槓)?

例如,https://github.com/foxbunny/CSRF4PHP/blob/60d9172b7f0cd93346cac9065fb17182854ebf1c/CsrfToken.php#L80-L87具有\FALSE\session_id,和\Exception

public function __construct($timeout=300, $acceptGet=\FALSE){ 
    $this->timeout = $timeout; 
    if (\session_id()) { 
     $this->acceptGet = (bool) $acceptGet; 
    } else { 
     throw new \Exception('Could not find session id', 1); 
    } 
} 
+32

它使代碼不易讀。但對於[參考:這個符號在PHP中意味着什麼](http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – mario 2011-01-25 04:37:00

+0

@mario非常漂亮的stackoverflow主題。感謝您的鏈接:) – Alfred 2011-01-25 04:39:28

回答

132

\(反斜槓)是在PHP 5.3名稱空間隔離。

A \函數開始之前代表Global Namespace

將它放在那裏將確保所調用的函數來自全局名稱空間,即使在當前名稱空間中有一個相同名稱的函數。

8

澄清潛在的混亂:

反斜槓並不意味着繼承

在下面,Animal,Dog,Shepherd不必是類,但只需要namespaces。意思是用於將名稱組合在一起到avoid naming collisions

$myDog = new \Animal\Dog\Shepherd\GermanShepherd(); 

領先\意味着Animal在全球範圍內宣佈。