Questa cattiva pratica/può causare problemi?PHP: utilizzo degli spazi negli indici di array associativi
$_SESSION['stuff to keep']
invece di chiamare str_replace()
sugli indici.
Questa cattiva pratica/può causare problemi?PHP: utilizzo degli spazi negli indici di array associativi
$_SESSION['stuff to keep']
invece di chiamare str_replace()
sugli indici.
Questa è una cattiva pratica, ma non a causa dello spazio.
// file foo.php
$_SESSION['stuff to keep'] = 42;
// file bar.php
if ($_SESSION['stufft o keep'] == 42) frobnicate();
Qui, il codice è silenzioso e il bug può richiedere un po 'di tempo per essere trovato. La buona pratica è quella di utilizzare un nome di PHP-imposto, come ad esempio un costante classe:
$_SESSION[Stuff::TO_KEEP] = 42;
if($_SESSION[Stuff::TOO_KEEP] == 42)
// error: no constant TOO_KEEP in class Stuff
Si può quindi definire che costante per qualsiasi costante a trovare interessante o leggibile, come ad esempio "stuff to keep"
(con gli spazi). Ovviamente, extract()
e il casting a object
non funzioneranno più, ma non dovresti farlo comunque con la tua sessione.
Se il testo inserito dall'utente nelle chiavi di sessione è, ovviamente, un errore di sicurezza evidente.
Non causerà un problema, ma le chiavi degli array di solito sono considerati come i nomi delle variabili così dovrebbe essere scelti con le stesse considerazioni
sembra come l'aggiunta di spazi inutili a mio parere ... Di solito non uso spazi. Se lo fai, assicurati di citare le chiavi dell'array.
Puoi farlo, funzionerà - e anche se generalmente non lo faccio quando imposto le chiavi dei miei array "a mano", a volte capita quando ottengo le chiavi da un file (per esempio), e non ho mai avuto alcun problema con questo.
Forse ciò potrebbe causare qualche tipo di problema se si stanno utilizzando le funzioni extract
. Se crea variabili con spazi nei loro nomi (non so se lo sarà) sarà difficile (ma non impossibile) accedere alle tue variabili.
+1 Punto positivo: l'estrazione genera un errore (avviso?) Se viene richiesto di estrarre un array con chiavi con nome non valido –
Works: http://ideone.com/4OYl1B Do not: http: // ideone.com/51uC5D – Prasanth