站內搜尋

Tuesday, February 4, 2014

[PHP] 在物件前加上反斜線代表的意義 ( 例如: new \DateTime )

有時候會看到網路上的一些範例程式,會在建立物件時,加上反斜線,例如 有名的 PHP:The Right Way 就使用 new \DateTime 來建立物件,這個反斜線稱為「命名空間運算子」,也就是說當我們有使用到命名空間 ( namespace ) 時,在這個命名空間的範圍下,所建立的物件都會被這個命名影響,所以,當我們要用到全域的物件時,就必須將物件指定為命名空間的頂部,如下說明:

錯誤
namespace myspace;
$mydate = new DateTime;
var_dump($mydate);

正確
namespace myspace;
$mydate = new \DateTime;
var_dump($mydate);

也就是說,如果在沒用 namespace 的情況下使用全域物件,有沒有加反斜線都無所謂,但是,當使用者有使用到 namespace 時,使用全域物件卻不加反斜線就會沒有值。

No comments:

Post a Comment