Ik was weer aan het experimenteren met OOP maar ik stuiterde op een vraag waar ik niet uit kwam en het niet precies op Google kon vinden..
class Database {
protected $_hostname = 'localhost';
protected $_username = 'root';
protected $_password = '';
protected $_database = 'rob';
public function connect() {
$connection = mysqli_connect($this->_hostname, $this->_username, $this->_password, $this->_database);
if(!$connection) {
printf('Error met verbinding');
exit();
}
}
}
class User extends Database {
public $test = 'test';
public function __construct() {
$database = new Database;
$database->connect()->real_escape_string($test);
}
}
$database = new Database();
$database->connect();
$user = new User;
Hoe kan ik in de User class de variable $connection aanroepen voor bv. real escape string toe te passen?
Of zou ik hier in de Database class functions voor moeten aan maken of dergelijk?
[size=xsmall]Toevoeging op 14/02/2017 17:59:08:[/size]
UPDATE CODE:
class Database {
protected $_hostname = 'localhost';
protected $_username = 'root';
protected $_password = '';
protected $_database = 'rob';
public $connection;
public function connect() {
$this->connection = mysqli_connect($this->_hostname, $this->_username, $this->_password, $this->_database);
if(!$this->connection) {
printf('Error met verbinding');
exit();
}
}
}
class User extends Database {
public $test = 'test';
public function __construct() {
$database = new Database;
$con = $database->connection;
$con->real_escape_string($test);
}
}
error bij de code is:
Fatal error: Uncaught Error: Call to a member function real_escape_string() on null in C:\xampp\htdocs\index.php:28 Stack trace: #0 C:\xampp\htdocs\index.php(35): User->__construct() #1 {main} thrown in C:\xampp\htdocs\index.php on line 28