声明某些类时会大幅削减

时间:2013-08-03 16:20:04

标签: php class

最近我在PHP中遇到过这样的事情:

new \Datetime("tomorrow);

那是什么斜线?它是否与新的PHP功能有关?有人可以解释一下我们使用这种语法的原因吗?

3 个答案:

答案 0 :(得分:3)

单个反斜杠是“根”命名空间,除非声明它们位于另一个命名空间中,否则所有类都驻留在该命名空间中。在命名空间类中,假定所有其他类都具有相同的命名空间。

所以当你宣布

namespace user;

class login {
    function foobar() {
        throw new Exception(123);
    }
}

你会得到错误“unknown class Exception”,因为没有用户命名空间的异常类。另一方面,Throwing \ Exception将正确解析为“root”-namespace,其中大多数内置类都是。

答案 1 :(得分:0)

与名称空间有关

Heres the manual

答案 2 :(得分:0)

据我所知,它用于访问命名空间之外的全局类。 See example 1