Ciao a tutti,
In questi giorni sto cercando di ottimizzare il codice del mio sito e mi è stato detto che sarebbe meglio dividere queste 3 componenti:
INTERAZIONE CON IL DB <-> PHP <-> GRAFICA
Andando in ordine i miei dubbi/perplessità sono i seguenti:
INTERAZIONE CON IL DB - PHP
Per una questione anche di manutenzione del codice sorgente, sto cercando di dividere la parte in PHP che interagisce con il Db da quella che si occupa dell'elaborazione delle informazioni.
Per farlo avevo intenzione di raggruppare il tutto in una classe.
Es:
codice:
class GestioneDb{
//Variabili globali della classe
var $db; //Database
function GestioneDb($host,$db,$name,$password){
$this->db = mysql_connect ("$host", "$name", "$password") or die ("Errore");
mysql_select_db ("$db");
}
function getOnline(){
return(mysql_query("SELECT * FROM online ORDER BY nome", $this->db));
}
E così via aggiungendo una funzione per ogni tipo diverso di query, ottenendo così una classe di circa 600 righe di codice suddivise tra un centinaio di funzioni diverse.
Il mio dubbio è, in termini di prestazioni, considerando anche lo spreco di risorse (come cpu e memoria) è effettivemente vantaggioso utilizzare questo sistema, in cui per ogni pagina che visito, istanzio un oggetto di cui utilizzerò al massimo 2 o 3 funzioni su 100?
Esisiste un sistema migliore per realizzare la divisione dell'interazione con il db dal resto del codice?
PHP - GRAFICA
Veniamo ora al secondo punto, ovvero la divisione tra il codice PHP e la parte grafica (solo i codici HTML, per la parte dei CSS non c'è problema).
Per risolvere questo "problema", so che è possibile utilizzare script appositi come Smarty oppure costruirsene di propri in base alle esigenze.
Sempre parlando in termini di prestazioni e quindi tempi di risposta e carico sul server, mi chiedevo:
Se per un sito non ho grandi esigenze di cambiarne la grafica (ovvero una volta fatta rimarrà la stessa per anni).
E' effettivamente utile suddividere le cose, costringendo ogni volta PHP ad includere e rielaborare tutto?