tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
275
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Hy Leutz!
    Ich habe 3 Klassen
    CMySQL , CUser, CMainpage
    In meinem Script wird zuerst eine Instanz von CMySQL erstellt, die heisst $MYSQL
    dann eine des $Users und dann die $MAIN

    Im Konstruktor der Klasse CMySQL stelle ich eine DB verbindung her und prüfe ob alle Daten stimmen, wenn nicht kommt ne Fehlermeldung.

    In der Klasse CMainpage will ich ich Zugriff auf die Datenbank haben.
    Ist es sinnvoll die Klasse CMySQL mit CMainpage zu erweitern?

    Das Problem ist folgendes:
    Ich rufe in der Klasse CMainpage weitere Klassen auf welche auch die Klasse CMySQL benötigen.

    Nun möchte ich aber nicht 100 Instanzen von CMySQL haben, da das den Arbeitsspeicher meines Servers sinnlos vergeudet, auch wenn das jetzt mal ein wenig übertrieben ist, aber eine die global wäre, wäre doch praktischer oder?
    Man würde Arbeitsspeicher und Zeit sparen.

    Was sagt ihr dazu?
    Wie würdet ihr das lösen?
     
    /* no comment */

  2. #2
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Es wäre noch ganz gut zu wissen welche PHP-Version du nutzt.

    Ich gehe jetzt mal von v5.x.x aus.

    Du könntest die CMySQL-Klasse als Singleton umsetzen.
    Siehe dazu: http://www.tutorials.de/forum/php-tu...-mit-php5.html.
    So ist sichergestellt, dass du immer nur eine Instanz hast.

    Am geschicktesten wäre es meiner Meinung nach eine Instanz der CMySQL-Klasse an die CMainpage-Klasse zu übergeben.
    So ist auch sichergestellt, dass die CMainpage-Klasse nicht bzw. nur leicht von Änderungen in der CMySQL-Klasse betroffen ist.

    greetz
    daddz
     
    be inspired...simplify...

  3. #3
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Ja, sorry das hatte ich ganz vergessen.
    Ich verwende PHP4, ganz einfach, weil PHP4 auf jedem Server ohne Aufpreis zu haben ist und PHP5 auch PHP4 versteht
     
    /* no comment */

  4. #4
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Also dann musst du aufs Singleton leider verzichten!

    Aber alles andere sollte funktionieren wie ich es geschrieben habe!

    greetz
    daddz
     
    be inspired...simplify...

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Zitat Zitat von Unicate
    In der Klasse CMainpage will ich ich Zugriff auf die Datenbank haben.
    Ist es sinnvoll die Klasse CMySQL mit CMainpage zu erweitern?
    Erweitern (ableiten von) einer Klasse ist in der OOP immer dann sinnvoll, wenn folgender Satz Sinn ergibt: „B ist ein A“ (A ist die Mutterklasse, B die abgeleitete Klasse)
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  6. #6
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Ok, habs nun so gelößt:
    Klasse CMainpage bekommt eine Instanz von den Klassen CUser und CMySQL als Membervariablen $MYSQL && $USER, da CMainPage nur 1x aufgerufen wird, ist das I.o. wenn ich nun andere Klassen in CMainPage verwende übergebe ich die Instanz, wie daddz meinte...
    Ich muss dann per "$this->MYSQL->Methode()" auf die Methoden zugreifen, was aber immer noch übersichtlich genug ist.

    Meine Frage nun:
    Das ganze soll wenn die Zeit gekommen ist PHP5 fähig gemacht werden.
    Geht dann der "doppelte Zugriff" (also 2x "->") noch? Also das er funktionierten wird ist klar, aber ob das PHP5 norm ist oder eher nicht...?
    Geändert von Unicate (25.02.06 um 03:22 Uhr)
     
    /* no comment */

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 10.03.09, 20:55
  2. Frage zu Interfaces und extends
    Von Ozzy Ozborn im Forum Java
    Antworten: 2
    Letzter Beitrag: 14.05.07, 08:51
  3. public class Feld extends JLabel
    Von Brucks im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 5
    Letzter Beitrag: 04.03.07, 19:56
  4. Extends Implements
    Von lernen.2007 im Forum Java
    Antworten: 1
    Letzter Beitrag: 14.05.05, 23:11
  5. OOP mit extends und Variablenübergabe
    Von measel101 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 07.02.04, 10:43