Is it safe to have single letter class names like A, B, P, etc?
only safe if it's a class that communicates with no other by the same name
Why should it be unsafe? You may use them, if you want. It only is discouraged, because single char class names aren't very descriptive...
Maybe you want to give the class a normal name but let the user import it with a short alias?
use Some\Long\But\Descriptive\Classname as A;
Safe, yes. Readable, no.
Your future self will build a time machine for the sole purpose of slapping you for writing such unreadable code. And then, a paradox will result, and all of reality as we know it will be destroyed.
Yeah there is nothing stopping you except for the confusion factor.
There's no reason why it shouldn't be, but it's more useful to give your classes a meaningful name
EDIT
Link to PHP naming guide