Non so, magari potrebbe diventare un topic utile a chi ha un problema e vorrebbe ottimizzare una parte di uno script.
A me, per esempio, non piace avere parti uguali, cioè che fanno due cose praticamente uguali e cerco di averne solo una con tutte le opzioni.
Per esempio, io ho questa parte di codice:
Codice PHP:
<?php
$var = (strpos($var, '{L_') !== false) ?
preg_replace('#\{L_([A-Z0-9_]+)\}#', "<?php echo (isset(\$user->lang['$1'])) ? \$user->lang['$1'] : '{ L_$1 }'; ?>", $var) :
preg_replace('#\{([A-Z0-9_]+)\}#', "<?php echo (isset(\$this->_var['$1']) && !empty(\$this->_var['$1'])) ? \$this->_var['$1'] : '{ $1 }'; ?>", $var);
?>
Come potete vedere la differenza è ben poca e vorrei fare tutto in un'unica stringa, quindi ho fatto una cosa simile:
Codice PHP:
<?php
$is_lang = (strpos($var, '{L_') !== false) ? 'L_' : '';
$_var = $is_lang ? 'user->lang' : 'this->_var';
$var = preg_replace("#\{{$is_lang}([A-Z0-9_]+)\}#", "<?php echo (isset(\${$_var}['$1']) && !empty(\${$_var}['$1'])) ? \${$_var}['$1'] : '{ {$is_lang}$1 }'; ?>", $var);
?>
Ma ho notato che aumenta leggermente la memoria utilizzata dallo script (1kb~), sicuramente perché valorizzo due variabili, ed usando la funazione unset() per liberarla ne occuperei di più utilizzandola.
Voi cosa ne pensate? Come fareste? E' giusto avere questa "fissazione" di "semplificare" il codice?