Hoy estaba explorando el repository de Symfony y encontré algunas requestes de extracción de @Seldaek en las que cambió la variable con el valor que puede ver a continuación:
Enlace para el PR
¿Cuál es la diferencia entre tener $var === true
y true === $var
?
No hay diferencia funcional, es un coding style llamado condiciones yoda .
La gente lo utiliza para evitar asignaciones accidentales en condiciones que normalmente no serían recogidas por el comstackdor cuando la constante es el segundo.
Esta es una statement válida y será difícil de depurar cuando realmente se espera que realice una comparación:
if ($var = 12) {}
Esta es una statement inválida y lanzará un error
if (12 = $var) {}
ya que no podemos asignar la variable a 12.