This was a standard I enforced at my last company:
Whenever you are doing a boolean check (such as an IF or WHILE), always place constants on the left side of the comparison.
The following is BAD:
// BAD if($user == LOGGED_IN) {
The following is good:
// GOOD if(LOGGED_IN == $user) {
Why is this such a big deal? Imagine the typo where you forget the second equals sign:
// Oops! This always evaluates to true! if($user = LOGGED_IN) {
This sort of bug is fairly common. C# went as far as to say boolean conditions must always have boolean return values, thereby eliminating the possibility of accidental assignments. Well, since PHP can’t do that, this is the next best thing. Notice how this convention will save your butt:
// Fatal error. Bug caught immediately. if(LOGGED_IN = $user) {
Think about it. 🙂
though .. just to play devil’s advocate — the first way reads better (if the user is logged in) and in theory easier to maintain?