I found myself looking on the internet for someone who has already answered it, but I can’t find any.
I was cleaning up some code with a strict PSR12 standard, and I found this issue with namespace getting longer than the configured 80 characters (which is our soft limit, which created a warning).
So far I have found a proper way of writing readable code while staying well within the 80 lines, no matter how long the names were. But for the namespace I haven’t. Many of our namespace declarations look like this:
namespace CompanyNameProjectNameDomainSubClasificationClasificationModuleName;
They can get quite long, especially since many on my colleagues like very long class names, so I would like to know if there are ways to fit the namespace declaration on multiple lines?
Advertisement
Answer
You can split the namespace on the separator character, so this is valid syntax:
namespace CompanyName ProjectName Domain SubClasification Clasification ModuleName;
Alternatively, you can tell PHPCS to ignore the next line:
// phpcs:ignore namespace CompanyNameProjectNameDomainSubClasificationClasificationModuleName;
You could also perhaps create a custom PHPCS sniff that extends the existing line length sniff but excludes namespace lines.
[EDIT] Note, it looks like the ability to multi-line the namespace may be going away in PHP 8: https://3v4l.org/IWbe1