37
votes

I just saw the use of a backslash in a reference to a PHP object and was curious about it (I have never seen this before). What does it mean?

$mail = new SendGrid\Mail();

If you're curious, here's SendGrid's documentation.

3
This is a duplicate of stackoverflow.com/questions/4075521/…, so you can find your answer there.11684
@11684 yea just saw that...oopsKyle
This great post explains in much more detail stackoverflow.com/q/4790020/6521116LF00

3 Answers

32
votes

It's because they're using PHP namespaces. Namespaces are new as of PHP 5.3.

17
votes

It's PHP's namespace operator: http://php.net/manual/en/language.namespaces.php.

Don't ask why it's a backslash. It's (imho) the stupidest possible choice they could have made, basing their decisions on a highly slanted/bigoted scoring system that made sense only to the devs.

8
votes

This is syntax for namespaces. You can read more about namespaces at PHP documentation. They they require at least PHP 5.3.

For example:

namespace SendGrid;
function Mail() {
    // You can access this function by using SendGrid\Mail() externally
}