2010-07-18 13 views
6

¿Hay alguna ventaja de usar una sobre la otra?variable o constante?

$lang = isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en'; 
# OR 
define("LANG" , isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en'); 

Gracias

+1

'[PHP]' no es necesario, para eso sirven las etiquetas. – Wrikken

Respuesta

5

En este caso, una constante es más apropiada. Como quiera usar el mismo valor a través de toda su aplicación, y no desea que sea posiblemente cambiado por error.

Notar que los lenguajes de programación tienen muchas características que no necesita usar para implementar un algorithem, sino que están ahí para hacer que el algoritmo sea más legible, mantenible y menos propenso a obtener errores. Las constantes son uno de esos tipos de características.

1

Depende de lo que quiere hacer. El valor de la constante no se puede cambiar una vez que se ha definido. La variable puede. Esta diferencia debería hacer que elijas la que necesitas.

+0

Lo entendí, me refería a la performance. – MotionGrafika

+0

@MotionGrafika: ¿Experimenta algún problema de rendimiento? De lo contrario, elija el enfoque que se ajuste mejor al concepto. –

+0

No he hecho ninguna prueba de evaluación comparativa, las constantes se ven mejor. – MotionGrafika

5

Constantes:

  1. no se puede cambiar después.
  2. Siempre están dentro del alcance (en clases/funciones/métodos).
  3. sólo pueden ser escalares (o archivo de recursos, pero eso es sólo una característica/fallo no documentado)

Variables:

  1. son cambiables.
  2. Puede estar fuera del alcance.
  3. Puede ser cualquier dato.
+0

Soy consciente de esto, pero desde la perspectiva del usuario, el valor no cambiará en el código una vez que el usuario lo haya configurado/restablecido. – MotionGrafika

+1

Puede ser bendecido con compañeros de trabajo decentes o su propio proyecto: los codificadores pueden modificar sus variables cuando menos lo espere ... – Wrikken

Cuestiones relacionadas