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