Beste,
Ik ben mij aan het oriënteren op classes etc.
Ik heb een bestand, config.inc.php in de submap includes:
Nu wil ik eigenlijk in al m'n classes wel MySQL gebruiken en ik heb bedacht dat ik al m'n classes extend op 1 class waarin een connectie maak, ongeveer zo:
Dit werkt als het goed is... maar hebben de classes user en recept nu iets met elkaar te maken, behalve een gezamenlijke parent?
Verder vind ik regels 44 t/m 48 er wat vreemd uit zien... dat moet toch makkelijker kunnen?
Iemand die kan helpen?
Niels
Ik ben mij aan het oriënteren op classes etc.
Ik heb een bestand, config.inc.php in de submap includes:
PHP:
<?php
/**
* @author Niels
* @copyright 2013
*/
$config['MySQL_host'] = 'localhost';
$config['MySQL_user'] = 'root';
$config['MysSQL_password'] = '';
$config['MySQL_database'] = 'recept';
#####################################
## Hier onder niets veranderen. ##
#####################################
// Benodigde bestanden ophalen.
require_once(dirname(_FILE_).'/functions.inc.php');
require_once(dirname(_FILE_).'/classes.inc.php');
?>
Nu wil ik eigenlijk in al m'n classes wel MySQL gebruiken en ik heb bedacht dat ik al m'n classes extend op 1 class waarin een connectie maak, ongeveer zo:
PHP:
<?php
/**
* @author Niels
* @copyright 2013
*/
class sql { // We willen graag in alle classes een MySQL verbinding.
function __costruct($config){
$link = mysqli_connect($config['MySQL_host'],$config['MySQL_user'],$config['MysSQL_password'],$config['MySQL_database']);
}
}
class recept extends sql{
public $id;
public $ingredient;
public $beschrijving;
public $van;
public $tot;
function __construct($args){ // Bij het aanmaken van nieuw object alvast het één en ander doen.
parent::__construct();
$actions = array('nieuw','random','get'); //We willen één van deze actions!
if (empty($args['action']) || !in_array($args['action'],$actions)){
return false; // De actie is niet correct!
}
foreach($args as $key => $value){ // $args omschrijven en vernietigen.
$key = $value;
unset($args[$key]);
}
if ($action == 'nieuw'){ // We willen een leeg object maken.
return true;
}
elseif ($action == 'get'){ // We willen een specifiek recept ophalen.
return true;
}
elseif ($action == 'random'){ // We willen een willekeurig recept, maar niet de vorige.
$result = mysqli_query($link,"SELECT * FROM `recepten` WHERE `id` <> $id ORDER BY rand() LIMIT 1");
$obj = mysqli_fetch_object($result);
$this->id = $obj->id;
$this->ingredient = $obj->ingredient;
$this->beschrijving = $obj->beschrijving;
$this->van = $obj->van;
$this->tot = $obj->tot;
return true;
}
else{ // Dit mag nooit gebeuren!
return false;
}
}
}
class user extends sql{
function iets($string)
{
echo $string;
}
}
?>
Dit werkt als het goed is... maar hebben de classes user en recept nu iets met elkaar te maken, behalve een gezamenlijke parent?
Verder vind ik regels 44 t/m 48 er wat vreemd uit zien... dat moet toch makkelijker kunnen?
Iemand die kan helpen?
Niels
Laatst bewerkt: