Voi ragazzi avete familiarità con quegli fastidiosi errori di avviso di PHP? Sai, quelli che appariranno quando fai qualcosa di simile:
if($some_variable == 45)
Ma se $ some_variable non fosse già stato creato, PHP sarà come "Hey! Idiot! Questa variabile non è stata ancora definita!" e genera un errore di notifica sullo schermo. Tuttavia, puoi semplicemente disattivare gli errori di notifica di PHP usando error_reporting (0) e l'applicazione funziona perfettamente. Qual e il punto? A chi importa se una variabile non è stata ancora creata? Perché non puoi crearlo al volo all'interno dell'istruzione if? Mi sembra che questo sia il modo facile e senza trucchi per farlo, ma a quanto pare PHP scoraggia questa pratica. Perché?
Quello che mi trovo a dover fare un sacco di volte è qualcosa del genere:
if(isset($some_variable) && $some_variable == 45)
Se $ some_variable non è impostato, l'istruzione if fallisce automaticamente, quindi la seconda condizione dell'istruzione if non viene mai verificata, quindi l'errore di notifica non si verifica mai. Funziona alla grande, ma sento che non dovrebbe essere necessario. Alcune delle applicazioni su cui sto lavorando sono enormi e temo che le condizioni aggiuntive aggiuntive possano rallentare il mio povero vecchio server se ce ne sono dozzine di istanze, in combinazione con migliaia di utenti. So che questa è solo una singola affermazione in più che sarebbe O (1), che non è un sacco di risorse, ma è ancora qualcosa di cui mi preoccupo. Non dovrei preoccuparmi di O (1) anche se ipoteticamente dovessi avere migliaia di utenti? Mi sto preoccupando troppo di essere efficiente?
So che gli errori di avviso di PHP possono essere facilmente disattivati utilizzando error_reporting (0). Non sono sicuro che determinati tipi di errori possano essere attivati / disattivati come desiderato, poiché non ho eseguito ricerche approfondite su error_reporting ().
La mia domanda è: qual è il punto? Perché è scoraggiato creare variabili al volo? Mi sento come se creare variabili al volo fosse un po 'più pigro, ma è più facile programmarlo 10000000x e dovrebbe essere il modo migliore per farlo.
Questo dovrebbe essere sia una questione filosofica che una domanda tecnica.