2013-09-27 31 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

相关问题