kostenloser Webspace werbefrei: lima-city


Ersatz für nicht mögliche Objekte als Klassenvariablen.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    reimann

    Kostenloser Webspace von reimann

    reimann hat kostenlosen Webspace.

    Ich hab ein Problem und brauch deshalb eine Ersatzlösung. Ich hab eine Klasse, von der kein Objekt erzeugt werden soll bzw. kann. Diese ist ja auch nur als eine Art Vereinfachung für den Umgang mit einer anderen Klasse gedacht, um sowohl einzelne Objekte als auch mehrere entsprechend behandeln zu können. Allerdings ist das Problem an statischen Methode, dass sie keine Klassenvariablen benutzen können, die ja auch nicht vorhanden sind. Deshalb wollte ich eine statische Klassenvariable verwenden, da ja sowieso keine Objekte enthalten können, da new da nicht erlaubt ist. Da aber kein Objekt der Klasse benutzt wird kann ich das auch nicht in den Konstruktor haun. Bei dem Objekt, was ich als Klassenvariable verwenden will handelt es sich um eine Datenbankklasse. Es wäre ja doof in jeder Funktion extra ein Datenbankobjekt einzuführen, was jedes Mal eine Verbindung mit der Datenbank aufbaut und wieder beendet.

    Wie kann ich das lösen, oder ist die Sache sowieso nicht so dramatisch?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du kannst ein Pseudo-Singleton Pattern verwenden. Ich will das jetz nicht im einzelnen erklären, seh dir einfach das an: http://github.com/nikic/DB/blob/master/DB.php

    Besonders DB::instance() und wie es verwendet wird ;)

    €dit: Das was ich da mache, hat übrigens noch den Vorteil, dass die DB-Verbindung erst aufgebaut wird, wenn sie wirklich nötig ist.

    Beitrag zuletzt geändert: 26.6.2010 19:27:52 von nikic
  4. Autor dieses Themas

    reimann

    Kostenloser Webspace von reimann

    reimann hat kostenlosen Webspace.

    Ich glaub ich versteh worauf das hinausläuft. Man schafft sich selbst noch eine extra Funktion, die aufgerufen wird, wenn man die Datenbankverbindung braucht und dann überprüft, ob schon eine vorhanden ist und wenn nicht, dann wird eine aufgebaut, wenn sie schon vorhanden ist wird sie einfach zurückgegeben.
    Ansonsten versteh ich bei weitem nicht alles, aber das ist denke ich auch abhängig davon, was das für Argumente erwartet.
    Damit lässt sich was anfangen.
    Danke.:thumb:
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!