|
|
|
|
|
|
|
#1 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 28.11.2004
Beiträge: 271
![]() |
Hallo!
Bisher habe ich ein Script mit drei Dateien. 1. Datei ist die Klasse für den Zugriff auf die Datenbank 2. Ist die Klasse für die Kontrolle und späteres Schreiben der Daten 3. ist einfach die index.php mit der Webseite Mein Problem ist folgendes. In meinem DB-Script wird ein object erstellt mit dem ich dann nur durch require zugriff auf die Methoden haben sollte. Jedoch geht das nicht sobald ich mich in eier Klasse bewegen db-klasse: PHP-Code:
PHP-Code:
Was muß ich machen um dies in mene Klasse zu bekommen? Gruß niesel |
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
Moderator und Wett-König
|
Hallo nieselfriem,
das kann ich auch nachvollziehen. Im Konstruktor der Klasse "registrieren" initialisierts du die Variable "dbconf" mit einer Instanz von "mysql_db" und in der Methode "checkdatas()" versuchst du auf die interne Variable "db" zuzugreifen. Die gibt es aber nicht, da nicht initialisiert.
__________________
Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
|
#4 (permalink) |
|
Moderator und Wett-König
|
Hallo nieselfriem,
du hast jetzt Korrekturen gemacht, die nicht produktiv sind und das ganze noch "falscher" machen. Wenn du deine MySQL-Klasse in der Klasse "registrieren" verwenden möchtest, macht es nur Sinn, wenn du dort auch eine Instanz zur Verfpgung stellt. Du kannst das beispielsweise so machen: PHP-Code:
PHP-Code:
PHP-Code:
__________________
Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
|
#5 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 28.11.2004
Beiträge: 271
![]() |
ahso!
das heist also. ich muß meine db-Klasse mit require einbinden und wenn ich sie in der entprechenden php-datei verwenden möchte bzw. in einer klasse muß ich immer ein neues objekt erzeugen. Das das objekt in der db-Klasse erzeugt wird habe ich aus einem buch. Dies macht man so also nicht! |
|
|
|
|
#6 (permalink) | ||
|
Moderator und Wett-König
|
Hallo nieselfriem,
Zitat:
Du hast in der Datei, in der sich deine MySQL-Klasse befindet diese am Ende instanziiert um eine Instanz dieser Klasse verfügbar zu haben. Wenn du das so löst, bist du gezwungen die Instanz entweder am Verwendungsort neu zu erstellen (new mysql_db()) oder die bereits vorhandene Instanz mit PHP-Code:
PHP-Code:
Zitat:
__________________
Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
||
|
|
|
|
#8 (permalink) |
|
Moderator und Wett-König
|
Hallo nieselfriem,
das ist richtig, die Instanz ist dann schon erzeugt. Nur nützt dir das erst mal nichts, weil der Gültigkeitsbereich dieser Variable nur bis an die Grenzen einer Klasse/Funktion reicht. Um die Instanz dort verfügbar zu machen müsste man diese Variable aus dem globalen Scope "importieren", was unsauber ist. Am besten du hälst dich an Singleton, das garantiert dir eine saubere Lösung. Solltest du dazu Hilfe brauchen, einfach Bescheid geben!
__________________
Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Referenzen auf Objekte innerhalb eines Arrays | PHP-Fortgeschrittene | 6 | 31.08.2009 17:06 | |
| Klassen sinnvoll nutzen, Grundlegendes | nikosch | PHP-Fortgeschrittene | 1 | 30.09.2006 22:08 |
| Fragen zu Klassen | Kein Genie | PHP Tipps 2006 | 3 | 08.05.2006 11:25 |
| Sessions an includete Klassen übergeben | Dr_Enquinox | PHP Tipps 2006 | 4 | 29.04.2006 10:25 |
| mit html klassen definieren und in php ausgeben | PHP-Fortgeschrittene | 4 | 16.01.2006 10:31 | |
| Objekte vergleichen | PHP-Fortgeschrittene | 4 | 08.12.2005 16:20 | |
| objekte und klassen | notyyy | PHP Tipps 2005-2 | 2 | 24.10.2005 17:44 |
| Objekte in Klassen | PHP Tipps 2005-2 | 1 | 20.08.2005 09:23 | |
| Fehler abfangen in Klassen | PHP Tipps 2005-2 | 26 | 25.06.2005 19:26 | |
| klassen und methoden anderer klassen in methoden.... | PHP Tipps 2005 | 17 | 25.05.2005 09:46 | |
| Klassen | PHP Tipps 2005 | 5 | 09.04.2005 18:51 | |
| Klassen in Klassen verwenden | PHP Tipps 2005 | 5 | 23.02.2005 14:08 | |
| Projekte nachträglich auf Klassen und Objekte umstellen??? | PHP-Fortgeschrittene | 7 | 10.12.2004 15:33 | |
| ich raffe opp nicht :( ! | eQuin | PHP-Fortgeschrittene | 16 | 04.11.2004 11:28 |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.