Ik heb ooit een interface geschreven om database opdrachten te verwerken.
Die classe werkt vlotjes, en is met de jaren toch redelijk uitgebreid geraakt.
Vanwege dat groeien zou ik de classe moeten herzien, aangezien je duidelijk verschillende programmeer stijlen door elkaar ziet, maar dat maakt het tegelijk wel leuk.
Een voorbeeldje van de oudste code:
De weergegeven methode is geschreven om te debuggen.
De methode echter ook bruikbaar om je database connectie te controleren.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| class DBI
{
//........
function status($message=false)
{
$this->_status = false;
switch(true)
{
case empty($this->_server):
if($message) $this->_status = 'Servername required'."\r\n";
break;
case empty($this->_username):
case empty($this->_password):
if($message) $this->_status = 'Authentification required'."\r\n";
break;
case (!$this->_link_server):
if($message) $this->_status = 'Connection failed verify servername, username and password'."\r\n";
break;
case (!$this->_link_database):
if($message) $this->_status = 'Database not found'."\r\n";
break;
case (!$this->_result):
if($message) $this->_status = mysqli_errno($this->_link_server) . ": " . mysqli_error($this->_link_server) . "\r\n\r\n" . $this->_query . "\r\n\r\n";
break;
default:
$this->_status = true;
if($message) $this->_status = "ok: " . $this->_query . "\r\n";
break;
}
return $this->_status;
}
} |
*Ik post dit in verband met de discussie over het gebruik van switch case. Er is geen dringende reden om het te veranderen
** Vandaag een belangrijke wijziging gedaan. Voorheen returned iedere case standaard een statusgetal, was om te weten of alles ok is deed je if(status==7). Dat omdat oorsponkelijk er 7 cases waren. Later zijn er cases samengevoegd.
[
Voor 29% gewijzigd door
g4wx3 op 23-11-2010 20:39
]