Search code examples
phpnamespaces

Should I namespace global functions in PHP?


In PHP, I'm using namespaces at the class level. However, Netbeans keeps telling me namespace my global functions as well. For example, if I type

str_replace('stuff');

then Netbeans will suggest changing it to:

\str_replace('stuff');

Is this a PHP recommendation, or just Netbeans being overzealous? I haven't been able to find anything in the PHP documentation that says either way.

I can't see it causing any problems in the code. However, it feels wrong to just ignore Netbeans without knowing why it recommends it in the first place. But nor does it feel right just to change my coding practice without knowing it's the right thing to do.


Solution

  • There is no such recommendation in

    Nor is it necessary to use the global identifer since PHP will fallback to the global function definition when there is no function of that name in the current namespace.

    With that said, the only reason to add the identifier is to make it more explicit that you want to use the actual global thing to prevent accidental changes in code behaviors when someone adds a function of the same name into the current namespace.

    You might want to ask on the Netbeans Mailing List for more details about why your IDE suggests this.