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:
Richiamo nella pagina che utilizzerò questo codice: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();
}
}
?>
l'errore è:Codice PHP:<?php
include("DBConnection.php");
$db=new DBConnection();
$db->connect();
$db->disconnect();
?>
l'errore si riferisce alla riga "$DataBase->close();" perchè non riconosce la variabile come oggetto.PHP Fatal error: Call to a member function close() on a non-object
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

Rispondi quotando