Posto le mie perle di saggezza riguardante l'ottimizzazione delle web applications tramite l'impiego di tecnologie lato server, enjoy it

1. Se il metodo di una classe può essere statico, dichiaralo come tale aumentando di 4 la sua velocità .
2. Se possibile evita i metodi magici come: __get, __set, __autoload
3. Echo è più veloce di print e molto più veloce di printf.
4. Usa i parametri multipli di echo per concatenare le stringe. Quando puoi, infatti, usa la virgola invece del punto.
5. Non settare il valore massimo del tuo ciclo all’interno dello stesso, qualsiasi funzione nella dichiarazione viene rieseguita ad ogni giro.
6. Effettua l’unset delle variabili che non utilizzi per liberare la memoria, specialmente per array molto grandi.
7. require_once() e include_once() sono più lenti dei sui gemelli senza controllo di unicità.
8. Utilizza paths completi nei tuoi includes e requires, per risparmiare del tempo al sistema operativo del server per trovare quello completo.
9. Invece di utilizzare $_SERVER[’REQUEST_TIME’] è consigliato utilizzare time() per scoprire l’ora di esecuzione della tua pagina.
10. Se è possibile, prova ad utilizzare strncasecmp, strpbrk e stripos invece di una regular expression.
11. Str_replace è più veloce di preg_replace, ma strtr è più veloce di str_replace di 4 volte.
12. E’ meglio usare lo switch che degli if annidati o degli elseif.
13. Sopprimere gli errori con @ è molto lento, evitalo quanto puoi farlo.
14. Se hai modo di mettere le mani sui apache, abilita il mod_deflate.
15. Quando hai terminato l’utilizzo della connessione al database, chiudila.
16. $array[‘key’] è ca. 7 volte più veloce di $array[key].
17. Incrementare una variabile locale all’interno di un metodo è più veloce che richiamare una variabile locale di una funzione.
18. Incrementare invece una variabile globale è 2 volte più lento che una variabile locale.
19. Incrementare le proprietà di un oggetto (es. $this->propietà++) è 3 volte più lento di una variabile locale.
20. Incrementare una variabile locale non inizializzata è ca.10 volte più lento che farlo con una inizializzata in precedenza.
21. I metodi nelle classi derivate sono più veloci di quelle definite nella classe base.
22. Utilizzando i singoli apici (‘…’) invece di quelli doppi (“…”) puoi rendere la vita più facile a php velocizzandolo di poco! Questo perché php va a cercare delle variabili nelle stringhe con gli apici doppi.
23. Uno script php per essere processato necessita da 2 a 10 volte in più d’una pagina html. Cerca di utilizzare più html statico e meno scripts.
24. Ad ogni richiesta i file php vengono compilati nuovamente, utilizzando un software di caching puoi incrementare la performance da 25 a 100% annullando o quasi il tempo di compilazione.
25. Se dovete fare un controllo sulla lunghezza delle stringhe potete usare strlen() che è pittosto veloce da quando stampa direttamente la lunghezza (già conosciuta) della stringa. Tuttavia essendo una funzione richiede del tempo per eseguire le diverse operazioni come lowercase & hashtable. In questi casi può tornarci utile un trucchetto con isset().
CODICE
if (strlen($foo) < 5) { echo "Foo è troppo corto"; } // modo classico
if (!isset($foo{5})) { echo " Foo è troppo corto "; } // modo intelligente
26. Quando incrementi o decrementi una variabile ($i++) ricorda che (++$i) risulta più veloce.
27. Non usare sempre una programmazione orientata agli oggetti, ricorda che ogni oggetto consuma molta memoria.
28. Ricorda che gli array, come gli oggetti, sono anche dati strutturati e molto utili anche loro.
29. Prendi in considerazione di scrivere delle estensioni in C per php.
30. Controlla il tuo codice per mezzo di un profiler che sarà in grado di dirti quali parti del programma consumano quanto tempo. Se non erro Xdebug dovrebbe contenere un profiler suo.
31. Mod_gzip che trovi su Apache si consente di comprimere dei dati on the fly e può ridurre il trasferimento dati fino ad 80%.
32. Se siete obbligati a scrivere un grande quantitativo di codice html in un file php senza dover ricorrere o introdurre variabili è meglio uscire dall’ambiente PHP ( ?> ) e rientrare dopo ( <?php ).
33. Per assegnare un valore di un array a una variabile, non duplicate il valore se non strettamente richiesto, create un semplicer riferimento ($var=&$arr[‘foo’] invece di $arr[‘foo’]).
34. Ricorda che isset($arr[‘foo‘]) è più veloce di (‘foo’, $arr)
35. Evita di utilizzare le query nei cicli. Sicuramente il vostro Database possiede meccanismi migliori per gestire lo stesso tipo di richiesta.