PHP中的反斜杠 - 这是什么意思?

Kyl*_*yle 34 php

我刚刚看到在PHP对象的引用中使用了反斜杠,并对此感到好奇(我以前从未见过这个).这是什么意思?

$mail = new SendGrid\Mail();
Run Code Online (Sandbox Code Playgroud)

如果你很好奇,这里是SendGrid的文档.

ash*_*exm 29

这是因为他们使用的是PHP命名空间.自PHP 5.3起,命名空间是新的.


Mar*_*c B 16

它是PHP的命名空间运算符:http://php.net/manual/en/language.namespaces.php.

不要问为什么它是反斜杠.它是(imho)他们可能做出的最愚蠢的选择,他们的决定基于一个高度倾斜/偏执的得分系统,只对开发者有意义.

  • 他们不应该使用点运算符进行字符串连接,这对于一个好的命名空间操作符来说是多么浪费! (11认同)
  • 检查RFC https://wiki.php.net/rfc/namespaceseparator,了解他们如何选择反斜杠. (5认同)
  • 好吧,反斜杠是最好的选择(你想使用`:::`或` - > - >`?). (2认同)

Kon*_*ski 7

这是名称空间的语法.您可以在PHP文档中阅读有关命名空间的更多信息.他们至少需要PHP 5.3.

例如:

namespace SendGrid;
function Mail() {
    // You can access this function by using SendGrid\Mail() externally
}
Run Code Online (Sandbox Code Playgroud)