Vediamole!
La parola chiave è define.
Creo una costante e la visualizzo fuori e dentro una funzione (le costanti dovrebbero essere visibili dappertutto).
<?php define("PAROLACCIA","Vaffanculo"); echo PAROLACCIA; echo "<br>"; function funzione(){ echo PAROLACCIA." dentro la funzione"; } funzione(); ?>
Vaffanculo Vaffanculo dentro la funzionePerfetto!
Ora faccio il confronto con una variabile.
<?php define("PAROLACCIA","Vaffanculo"); $variabile="Stronzo"; echo PAROLACCIA; echo "<br>"; echo $variabile; echo "<br>"; function funzione(){ echo PAROLACCIA." dentro la funzione"; echo "<br>"; echo $variabile; } funzione(); ?>
Vaffanculo Stronzo Vaffanculo dentro la funzione Notice: Undefined variable: variabile in /storage/ssd3/737/3147737/public_html/index.php on line 11Per rendere leggibile la variabile (ripasso) ho due possibilità:
parola chiave global:
<?php define("PAROLACCIA","Vaffanculo"); $variabile="Stronzo"; echo PAROLACCIA; echo "<br>"; echo $variabile; echo "<br>"; function funzione(){ global $variabile; echo PAROLACCIA." dentro la funzione"; echo "<br>"; echo $variabile; } funzione(); ?>
Vaffanculo Stronzo Vaffanculo dentro la funzione Stronzo
attingendo all'array $GLOBALS.
<?php define("PAROLACCIA","Vaffanculo"); $variabile="Stronzo"; echo PAROLACCIA; echo "<br>"; echo $variabile; echo "<br>"; function funzione(){ echo PAROLACCIA." dentro la funzione"; echo "<br>"; echo $GLOBALS['variabile']; } funzione(); ?>
Vaffanculo Stronzo Vaffanculo dentro la funzione StronzoPerfetto!
Resta da vedere quel "case insensitive"...
Provo a scrivere in minuscolo il nome della costante:
<?php define("PAROLACCIA","Vaffanculo"); echo PAROLACCIA; echo "<br>"; function funzione(){ echo parolaccia." dentro la funzione"; } funzione(); ?>E ottengo:
Vaffanculo Notice: Use of undefined constant parolaccia - assumed 'parolaccia' in /storage/ssd3/737/3147737/public_html/index.php on line 6 parolaccia dentro la funzioneOra definisco la costante con un true come terzo parametro, che rende il nome case insensitive:
<?php define("PAROLACCIA","Vaffanculo",true); echo PAROLACCIA; echo "<br>"; function funzione(){ echo parolaccia." dentro la funzione"; } funzione(); ?>
Vaffanculo Vaffanculo dentro la funzioneed ecco che il nome della costante non è più case sensitive ma si può scrivere anche in minuscolo.
Nessun commento:
Posta un commento