Sto usando alcuni plugin premium, e analizzando il loro codice che ho trovato, che in alcune funzioni che usano il codice come:Quanto è sicuro l'utilizzo. = Operatore su una variabile non inizializzata?
$output .= $some_str;
quando quella $ output non è stato menzionato da nessuna parte prima.
Quanto è sicuro questo codice? Ho cercato di trovare qualche guida in PHP Manual per questo, ma per quello che vedo, lo definiscono solo per $ output e $ some_str che sono stati precedentemente impostati in precedenza.
Successivamente questa variabile di output $ viene utilizzata per echo codice HTML.
Hai visto delle specifiche a riguardo? Forse c'è qualcosa che potrei fare al di fuori di questi plugin per rendere questo codice più sicuro? Qualche valore predefinito definito per tutte le variabili non inizializzate?
Grazie!
Qual è la tua definizione di "sicuro"? A parte il valore NULL implicito e l'avviso/avviso (o la relativa voce di registro), i linguaggi di scripting non sono inclini ad es. errori del puntatore nullo. È coperto in http://php.net/manual/en/language.variables.basics.php#example-112 btw. – mario
@mario, intendevo ad esempio, questo codice HTML che tale variabile avrebbe prodotto in seguito, contiene tutto ciò che non è stato intenzionalmente messo lì. –
I casi a cui dovresti prestare attenzione non sono quelli con le variabili * non inizializzate *. Quelli non faranno alcun danno. Per plugin o temi è possibile riutilizzare accidentalmente * variabili ereditate *, ad es. da uno scope condiviso (globale). Quale potrebbe causare output non desiderati, ecc. – mario