Markus Speicherl: Umgang mit Klassen

Hallo nochmal

Ich bin noch neu auf dem Gebiet der Klassen in PHP und habe ein paar Theoretische Probleme bei der Verwendungsstruktur im Umgang von Klassen.

Ich habe eine Klasse für den Datenbank zugriff sowie eine weitere (an der ich arbeite) für die Benutzeridentifikation (IdentClass) (Login, Sessionverwaltung etc.).

Mein Problem ist dass die IdentClass auf eine Datenbank zugreifen muss.
Da mir aber gesagt wurde das Klassen niemals auf Klassen verweisen _sollen_ (was ja auch verständlich ist weil sie eben alleinstehend arbeiten sollen) habe ich da ein Integrationsproblem.

Soll ich jeder Klasse die einen Datenbankzugriff braucht eine eigen DB-Zugriff einbinden oder gibt es eine möglichkeit die ich noch nicht kenne?

Was mich adaptiv auch stört ist halt dass ich ausserdem eine Klasse für die Verwaltung der URL machen wollte.

In dieser Klasse möchte ich es vereinfachen Pfadangaben zu erzeugen. Anstatt irgendwo statische Links zu erzeugen möchte ich dass diese Klasse schaut welche Vars schon gegeben sind (und mitnimmt) und ob es die erste ist (.php?x=1) oder eine andere (.php?schonda=1&x=1)... etc pp.

Da diese Klasse aber wiederum nur halb so nützlich wäre wie wenn ich auch anderen Klassen erlauben könnte sie zu benutzen suche cih ein weg mehrere Klassen zusammen zu fassen.

Gibt es etwas wie "Semi-Klassen" die umschalt werden von einer "Mutter-Klasse"?

Danke schonmal für jegwegige beachtung =)

  1. echo $begrüßung;

    Mein Problem ist dass die IdentClass auf eine Datenbank zugreifen muss.
    Da mir aber gesagt wurde das Klassen niemals auf Klassen verweisen _sollen_ (was ja auch verständlich ist weil sie eben alleinstehend arbeiten sollen) habe ich da ein Integrationsproblem.

    Da hat dir entweder einer Quatsch erzählt oder du hast es nicht richtig verstanden. Selbstverständlich können Klassen zur Erfüllung ihrer Aufgabe sich dabei anderer Klassen bedienen. Mal ganz abgesehen von Vererbung etc.

    Du erfindest aber gerade das Rad neu. Natürlich ist das nichts grundsätzlich schlechtes, denn dabei lernt man und sammelt Erfahrung.
    Die Funktionalität, die du angegeben hast gerade zu implementieren, ist schon in PEAR enthalten. Selbst wenn du jetzt sagst, dass du lieber deine Klassen verwendest, lohnen sich mehrere Blicke in PEAR, um zu sehen, wie andere die Probleme gelöst haben.

    Die PEAR-Pakete bestehen übrigens teilweise aus mehreren Klassen, die sich sowohl untereinander beerben, als auch Aufgaben an eigene Klassen deligieren und auch Klassen aus anderen Paketen benötigen.

    echo "$verabschiedung $name";

    1. Ich denke mal nicht dass ich die PEAR-Klassen jedoch in verbindung mit Komerziellen Dingen verwenden darf, oder?

      Aber danke für den hinweis, ich werde mich da mal einlesen.

      1. echo $begrüßung;

        Ich denke mal nicht dass ich die PEAR-Klassen jedoch in verbindung mit Komerziellen Dingen verwenden darf, oder?

        Jeder PEAR-Autor kann für sein Paket zwischen 5 Lizenzen wählen (Versionsnummern nicht mitgezählt). Du müsstest also bei Einsatz eines bestimmten Paketes nachsehen, welche Lizenz verwendet wird. Bei meiner kurzen Recherche sind mir keine Einschränkungen hinsichtlich der Nutzung aufgefallen.

        echo "$verabschiedung $name";

        1. Moin!

          Jeder PEAR-Autor kann für sein Paket zwischen 5 Lizenzen wählen (Versionsnummern nicht mitgezählt). Du müsstest also bei Einsatz eines bestimmten Paketes nachsehen, welche Lizenz verwendet wird. Bei meiner kurzen Recherche sind mir keine Einschränkungen hinsichtlich der Nutzung aufgefallen.

          Richtig. Dürfte man PEAR nicht kommerziell verwenden, dürfte man auch PHP nicht kommerziell verwenden.

          - Sven Rautenberg

          --
          My sssignature, my preciousssss!
    2. Ok, danke ich werde das auch mal ausprobieren