404

Design made in Germany

Deutsches Design

PHP - Klassenzugriff


Design Magazin Design Agenturen Designer Design Weblogs Design Magazine Design Portale Design Communities Design Hochschulen Design Organisationen Design Ressourcen Design Shops Grafikdesigner Schriftdesigner Webdesigner Interfacedesigner Flashdesigner Motiondesigner Sounddesigner Fotodesigner 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Hi!

Ich plane im Moment noch ein größeres Projekt in PHP. Siehe Hier: http://www.designmadeingermany.de/349/ (Jaja, hab mich vorerst umentschieden, auch wenns noch nicht endgültig ist...)

Spezifisches Problem: Ich habe eine Klasse für den Zugriff auf eine Datenbank - erspart mir die einzelnen handgetippten MySQL-Abfragen ;-). Jetzt will ich zum Beispiel noch eine Benutzerauthentifizierung durchführen: Das geht am Besten über eine Klasse, die mir die Benutzer authetifizieren kann, die Passwörter checkt und so weiter und so fort. Allerdings muss dazu diese Benutzer-Klasse auf die Datenbank-Klasse zugreifen.

Wie kann ich also von innerhalb der Benutzerklasse die Datenbankklasse verwenden? Ist das überhaupt möglich?

Viele Grüße, Benni.


Deutsches Design: PHP - Klassenzugriff

du musst die nur mit übergeben oder als singleton klasse drauf zugreifen ...


Hmm... also mal einfach ein Beispiel:

[CODE]$dbobjekt = new DBObjekt();[/CODE]
erzeugt mir die Instanz der Datenbank-Klasse. Da kann ich dann zum Beispiel über
[CODE]$data = $dbobjekt->get_data("bla");[/CODE]
mir bestimmte Daten zurückgeben lassen.

Zweite Klasse:
[CODE]class Authenticate() {
function validate($user="", $pass="") {
/* Validiert den User anhand einer MySQL-Tabelle */
}
}
[/CODE]

Und im Code selber dann:
[CODE]$authobj = new Authenticate();
$authobj->validate($user, $pass);
[/CODE]

Jetzt könnte ich also einfach die DB-Klasse an die Auth-Klasse übergeben und darin verwenden, stimmts?
[CODE]
class Authenticate($dbobject) {
function validate($user, $pass) {
if ($pass == $get_data("bla")) {
return TRUE;
}
}
}
/* In der Anwendung: */

$dbobjekt = new DBObjekt();
$auth = new Authenticate($dbobjekt);

$auth->validate("benni", "geheim");
[/CODE]

Stimmt das so?

Und wie geht das (vermutlich besser) mit Singletons - hast du mir da vieleicht nen Link o.ä.?


guck wegen singleton ma in die einschlägigen hilfen- sprich googleln und in die php hilfe,

class Authenticate($db.... krams is schonma uff jeden falsch, halt tipp an dich erstma oop lernen - das kann man in java und php und sonstwonoch, beispiele die es bei zend gibt oder bei php net sollten dir schonma helfen dich da weiter reinzufinden, an sonstn ja ..


Seitentitel: PHP - Klassenzugriff