Son elseif
y else if
completamente sinónimo, o hay una diferencia?
¿Zend tiene un "estándar" aceptado sobre cuál usar?
Si bien personalmente no me gusta ver elseif
el código, solo necesito saber si son sinónimos y el manual de PHP no es el más fácil de buscar.
php
syntax
conditional-statements
Theodore R. Smith
fuente
fuente
else if
, por cierto. Por ejemplo, VB también usaElseIf
y usa Rubyelsif
.Respuestas:
Del manual de PHP :
Esencialmente, se comportarán igual, pero
else if
es técnicamente equivalente a una estructura anidada como esta:El manual también señala:
Lo que significa que en la forma de estructura de control normal (es decir, usando llaves):
ya sea
elseif
oelse if
puede ser utilizado. Sin embargo, si usa la sintaxis alternativa , debe usarelseif
:fuente
else if
comoelse { if {
.else if
comoelse { if {
, de lo contrario no podría hacerloif (0) { } else if (0) { } else { }
...if (0) { } else { if (0) { } else { } }
. Tenga en cuenta que no hay ambigüedad en el últimoelse
bloque, que siempre es el caso para las ramas completas (cadaif
una tiene unelse
).if ($v1='1'): do_thing(); else: if($v1='b' ): do_another_thing(); else: do_smthing_else(); endif; endif;
es el equivalente de;if ($v1='1'): do_thing(); elseif($v1='b' ): do_another_thing(); else: do_smthing_else(); endif;
El Framework Interoperability Group (FIG), que está formado por miembros que incluyen a los desarrolladores de Zend ( https://github.com/php-fig/fig-standards#voting-members ), reunió una serie de recomendaciones estándar (PSR) - #).
Zend2 y Symfony2 ya siguen a PSR-0.
No hay reglas duras y rápidas para los estilos, pero puedes probar y seguir tanto PSR-2 como puedas.
Hay un comentario sobre else if vs elseif en PSR-2:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#51-if-elseif-else
Algunas de las recomendaciones son solo eso, recomendaciones. Depende de usted si debe usar else if o elseif
fuente