Hai colpito nel segno vorrei proprio creare tutto da zero per una questione molto autodidattica.
Proprio adesso stavo procedendo in questo modo correggimi se hai qualche suggerimento
Creazione di una classe abstract dove imposto i parametri accessi al database ed dei parametri essenziali per il front-end, successivamente ho creato un metodo final protected per la connessione al database e verificandone lo stato. Una classe di StarUp che estende la superclasse dove imposto le proprietà da richiamare in front-end estrapolate dal database già connesso e esegue delle operazione settando le proprietà pubbliche da utilizzare.
Vorrei come prima cosa dividere la fase di connessione al database e dati sensibili per intenderci e poi effettuare le altre operazioni estendendo la superclasse.
Ho fatto un abbozzo di superclasse ma non ho idea se segua una logica chiederei il tuo consiglio.
Codice PHP:
abstract class Config {
/****PROPRIETA****/
const pathbase = 'http://localhost/roberto';
const dbname_mast = 'roberto';
const servename_mast = 'localhost';
const username_mast ='root';
const password_mast='';
const photo_upload_ftp = 'rr';
protected static $offline = false;
protected static $connection = false;
protected static $link;
protected $logNotify = array(
'database' => 'Attenzione database non trovato o non accessibile',
'query_err' => 'Errore durante l esezione della query richiesta',
'offline' => 'Sito Attualmente Offline per manutenzione Straordinaria'
);
/****CONNESSIONE DB*******/
final protected function connect_db(){
if(!self::$connection && !self::$offline){
self::$link = mysql_connect(self::servename_mast,self::username_mast,self::password_mast);
if(self::$link){
mysql_select_db(self::dbname_mast,self::$link);
self::$connection = true;
}else{
$this->setOffline(true);
}
}
}
/****IMPOSTA IL SITO IN OFFLINE*****/
protected function setOffline($state){
self::$offline = $state;
if(self::$offline){
header("location: self::pathbase/administrator/bin/offline.php");
}
}
/****GESTIONE ERRORI********/
protected function getError($logError){
return $this->logNotify[$logError];
}
/****CHIUSURA DB********/
protected function close() {
mysql_close(self::$link);
}
}