2010-07-18 2 views
6

C'è un vantaggio nell'usare l'uno sull'altro?variabile o costante?

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

Grazie

+1

'[PHP]' non è necessario, ecco a cosa servono i tag. – Wrikken

risposta

5

In questo caso una costante è più appropriata. Come si desidera utilizzare lo stesso valore attraverso l'intera applicazione e non si desidera che sia eventualmente modificato per errore.

Si noti che i linguaggi di programmazione hanno molte funzioni che non è necessario utilizzare per implementare un algorithem, ma piuttosto sono lì per rendere l'algoritmo più leggibile, gestibile e meno incline a ottenere bug. Le costanti sono uno di quei tipi di funzionalità.

1

Dipende da cosa si vuole fare. Il valore della costante non può essere modificato una volta definito. La variabile può. Questa differenza dovrebbe farti scegliere quello che ti serve.

+0

L'ho capito, intendevo per prestazioni. – MotionGrafika

+0

@MotionGrafika: riscontrate problemi di prestazioni? In caso contrario, scegliere l'approccio che si adatta meglio al concetto. –

+0

Non ho fatto alcun test di benchmark, le costanti sembrano più belle. – MotionGrafika

5

Costanti:

  1. non può essere modificata in seguito.
  2. Sono sempre nell'ambito (in classi/funzioni/metodi).
  3. può essere solo scalari (o file-risorse, ma questo è solo un non documentata caratteristica/bug)

Variabili:

  1. sono modificabili.
  2. Può essere fuori portata.
  3. Può essere qualsiasi dato.
+0

Ne sono a conoscenza - ma dal punto di vista dell'utente - il valore non cambierà nel codice una volta impostato/ripristinato dall'utente. – MotionGrafika

+1

Potresti essere benedetto con colleghi decenti o il tuo progetto: i programmatori possono modificare le tue variabili quando meno te lo aspetti ... – Wrikken