2013-09-27 59 views
0

一切都在標題中。當我用new Object創建我的對象時,我有一個錯誤,說我的類沒有找到。但是,當我做new \Object一切都像一個魅力工作。希望有人能幫助我理解。先謝謝你。PHP - 新對象與new Object之間的區別?

+7

RTM:http://php.net/manual/en/language.namespaces.php –

+0

ty Amal鏈接。我正在挖掘現在,並將恢復... – Marc

回答

1

爲了方便起見PHP爲了將對象「打包」或「排序」到不同的「類別」中,現在有了名稱空間支持,這基本上允許更容易的自動加載和相對依賴包括。

\是根名稱空間,它簡單地把方法,在「沒有命名空間」使用對象。這隻能派上用場時,在子命名空間的對象都需要一個對象無關的當前命名空間,如:

\HTTP\Request\Properties()想擴展SPL對象ArrayObject,如果你想嘗試extend ArrayObject這將失敗,因爲當前的命名空間是\HTTP\Request,而ArrayObject位於根名稱空間中。爲了突破目前的命名空間,你必須\(root/break out)命名空間。

當您想要使用不同的供應商軟件包(例如Zend框架庫或SwiftMailer)時,命名空間非常有用,您只需爲所有供應商軟件包發佈自動加載過程,並繼續工作和實現,如下所示:

/vendor/Zend/[zend packages] 

$algos = \Zend\Crypt\Hash::getSupportedAlgorithms(); 
+0

非常丹尼爾的時間來幫助我。乾杯:) – Marc

相關問題