Hallo,
ich schreibe zurzeit in PHP5 eine MySQL-Klasse, hab mir dafür Kopffs's Tutorial etwas durchgelesen und daraus schnellsten versucht eine eigene Klasse zu schreiben.
Es ist noch nicht ganz fertig, aber wollt ma bisschen Kritik hören.
Die Klasse "DatabaseException" ist noch in bearbeitung.
Database.class.php:
MySQLDatabase.class.php
test.php
Welche Funktionen könnte ich noch hinzufügen?! Bzw. besser machen?!
ich schreibe zurzeit in PHP5 eine MySQL-Klasse, hab mir dafür Kopffs's Tutorial etwas durchgelesen und daraus schnellsten versucht eine eigene Klasse zu schreiben.
Es ist noch nicht ganz fertig, aber wollt ma bisschen Kritik hören.
Die Klasse "DatabaseException" ist noch in bearbeitung.
Database.class.php:
PHP-Code:
<?php class Database {
protected $linkID;
protected $queryID;
protected $charset;
protected $host;
protected $user;
protected $password;
protected $database;
protected $autoSelect;
public function __construct($host, $user, $password, $database, $charset = 'utf8', $autoSelect = true) {
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->charset = $charset;
$this->autoSelect = $autoSelect;
//connect
$this->connect();
//Select Database
//createDatabase ist currently not avaiable!
if($autoSelect === true) {
$this->selectDatabase();
} else {
$this->createDatabase();
$this->selectDatabase();
}
}
/**
* Execute MySQL Connection!
*/
public function __destruct () {
if (is_resource ($this -> linkID)) {
mysql_close ($this -> linkID);
}
}
}
?>
PHP-Code:
<?php
class MySQLDatabase extends Database {
/**
* Connects to MySQL Server
*/
protected function connect() {
$this->linkID = mysql_connect($this->host, $this->user, $this->password);
if($this->linkID === false) {
#throw new DatabaseException('Link-ID == false, connect failed', $this);
echo "connect failed".$this->linkID;
} else {
echo "OK";
}
}
/**
* Select MySQL-Database
*/
protected function selectDatabase() {
if (@mysql_select_db($this->database, $this->linkID) === false) {
#throw new DatabaseException("Cannot use database ".$this->database, $this);
echo "Cannot use database ".$this->database;
}
}
}
?>
PHP-Code:
<?php
define('DIR', dirname(__FILE__).'/');
function __autoload($class) {
require_once(DIR.'/lib/'.$class.'.class.php');
}
$db = new MySQLDatabase ('localhost','root','pwd','test');
?>
Kommentar