sto cercando di creare una classe personalizzata per la gestione della connessione al mio db.
Ho una discreta base di programmazione ad oggetti in java, ma non ho alcuna esperienza con php.
Il mio codice base è questo:
Codice PHP:
<?php
class DBConnection
{
private $DBName;
private $ServerIP;
private $ServerPort;
private $UserName;
private $UserPassword;
private $DataBase;
public function __construct()
{
$DBName="test";
$ServerIP="localhost";
$ServerPort=8889;
$UserName="root";
$UserPassword="root";
}
public function connect()
{
$DataBase = new mysqli($ServerIP, $UserName, $UserPassword, $DBName,$ServerPort);
}
public function disconnect()
{
$DataBase->close();
}
}
?>
Richiamo nella pagina che utilizzerò questo codice:
Codice PHP:
<?php
include("DBConnection.php");
$db=new DBConnection();
$db->connect();
$db->disconnect();
?>
l'errore è:
PHP Fatal error: Call to a member function close() on a non-object
l'errore si riferisce alla riga "$DataBase->close();" perchè non riconosce la variabile come oggetto.
L'oggetto è stato creato nella funzione "connect()", ma evidentemente non se ne accorge.
Come risolvo?
Più che altro vorrei capire come si comporta php in queste situazioni.
Grazie