se tu crei una classe apposita non c'è bisogno di file header, magari solo per includere la classe. Basta includere le funzioni di uso più comune in una classe database; ad esempio definisci le classi database e user ognuno in un file a parte chiamato rispettivamente database.php e user.php:
Codice PHP:
// database.php
class database {
public function openDB() {
$mysqli = new mysqli('localhost' 'user', 'password', 'database');
return $mysqli;
}
public function recordArray($sql) {
//restituisce un array di record
}
public function findRecord($sql) {
//trova un record
}
public function closeDB($conn) {
$conn->close();
}
}
class User extends database {
// user.php
public $name;
public $pass;
public function registraUtente($query) {
$mysqli = $this->openDB();
if ($mysqli) {
$query = "INSERT INTO utenti ('id','user','pass') VALUES ('" . $this->name . "', '" . $this->pass . "')";
$result = $mysqli->query($query);
$resultSQL = $this->recordArray($result);
$this->close($mysqli);
return $returnSQL;
} else
die("Errore nella connessione al database: " . $mysqli->error);
}
public function modificaUtente($query) {
}
public function cancellaUtente($sql) {
}
}
require_once('include/database.php');
require_once('include/user.php');
$user = new user();
$user->name = 'Giovanni';
$user->pass = 'password';
$user->registraUtente("INSERT INTO utenti ('id','user','pass') VALUES ('" . $user->name . "', '" . $name->pass) . "')";
come vedi nella classe user.php ho usato user extends database per fare in modo che user possa usare tutte le proprietà e i metodi della classe database come se fossero suoi, come se fossero una unica classe. In tal modo hai il vantaggio di avere due clasis completamente distinte ma facilmente modificabili che interagiscono fra di loro!