Informationen aus Klassen auslesen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Informationen aus Klassen auslesen?

    Hallo!

    Nehmen wir mal an, ich habe eine Template Klasse:

    PHP-Code:
    class template {
        ...

    Nun habe ich mehrere Templates:
    templates/default/index.php
    templates/company/index.php
    templates/club/index.php
    ...

    Wobei jede index.php die Template Klasse enthält. Nun möchte ich bestimmte Informationen aus den Klassen auslesen. Dazu müsste ich alle Klassen innerhalb einer Schleife laden, und dann die Informationen auslesen. Lässt sich das irgendwie machen, ohne dass ich die Meldung erhalte dass die Klasse "template" bereits deklariert ist?

  • #2
    __toString()-Methode in der Klasse wäre dafür zuständig den Inhalt der Klasse nach aussen zu bringen. In der __toString() Methode definierst du welche Werte ausgegeben werden sollen und danach kannst du z.B. mittels
    PHP-Code:
    echo $klasse
    deren Inhalt ausgeben.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Ich glaube sein Problem ist, dass er in jeder der o.g. Dateien

      class template { ... }

      stehen hat und deswegen maximal eine dieser Dateien includieren kann. Schlechtes OO-Konzept.

      Kommentar


      • #4
        @onemorenerd: Jau! Und genau dafür suche ich jetzt eine Lösung...

        Kommentar


        • #5
          Autsch!

          da hilft wohl nur Klassen "von Hand" parsen.
          oder eine Testdatei (getinfo.php) über HTTP aufrufen. Da gibst du dann nen Parameter mit, welche Klasse du meinst. die datei gibt dann die gewünschten infos aus und du kannst sie auslesen.

          --

          Sinnvoller wäre es natürlich eine Klasse template zu verwenden und die anderen CompanyTemplate, ClubTemplat, etc. davon erben zu lassen.

          Kommentar


          • #6
            Ist doch klar, die Klassen dürfen nicht den selben Namen tragen.
            Wie wäre es denn mit Vererbung, also einer Templateklasse und abgeleiteten Subklassen?

            Kommentar


            • #7
              Dass klassen keine doppelten Namen haben dürfen ist mir klar. Hätte ja sein können dass man eine klasse deklarieren und anschließend wieder löschen kann, als gäbe es die gar nicht. Werde das dann wohl mit Vererbung lösen...

              Kommentar


              • #8
                Hätte ja sein können dass man eine klasse deklarieren und anschließend wieder löschen kann, als gäbe es die gar nicht.
                OffTopic:

                Und dann die Eigenschaften der gelöschten Klasse auslesen

                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jahlives
                  Und dann die Eigenschaften der gelöschten Klasse auslesen
                  *tztz* ist schon klar, dass er erst klasse 1 aufrufen/auslesen dann löschen will, dann klasse 2 aufrufen/auslesen und dann löschen, klasse 3...

                  Kommentar


                  • #10
                    OffTopic:
                    demnächst auf diesem Kanal: dynamic namespaces

                    Kommentar


                    • #11
                      Original geschrieben von onemorenerd
                      OffTopic:
                      demnächst auf diesem Kanal: dynamic namespaces
                      Oh ja, ich bitte drum!

                      Hab das jetzt mit Vererbung gelöst und fertig!

                      Kommentar


                      • #12
                        OffTopic:
                        namespaces
                        Zur Zeit übe ich damit...
                        Und bisher keine üblen Nebenwirkungen

                        Was mir an "demnächst" nicht so gefällt:
                        PHP-Code:
                        <?php
                        error_reporting
                        (E_ALL);
                        ini_set('display_errors'TRUE);

                        for(
                        $i 0$i 10$i++)
                          if (
                        $i === 5) goto test;
                          
                        ende:
                        echo 
                        'Satz 1 <br>';
                        exit;
                        test:
                        echo 
                        'Satz 2 <br>';
                        goto 
                        ende;
                        ?>
                        Und nein!
                        Nicht lachen, das läuft wirklich sauber durch....

                        Wir werden alle sterben

                        Kommentar


                        • #13
                          Na dann beeile dich mal combie, sonst holt dich der Fortschritt ein.

                          Kommentar


                          • #14
                            Naja...
                            Was ist schon Fortschritt??
                            Mittlerweile teste ich das meiste mit php6
                            http://www.combie.de/phpinfo/phpinfo.php6_0
                            Ansonsten wird alles, so nach und nach auf Namespaces umgebaut...
                            Mein kleines "namespace" Framework macht schon die ersten Zuckungen...

                            PS: In dem http://de2.php.net/manual/de/languag...aces.using.php steckt ein Fehler, oder meine 6er ist schon wieder zu alt: Es heißt import und nicht use!

                            Zuletzt geändert von combie; 05.12.2007, 02:07.
                            Wir werden alle sterben

                            Kommentar


                            • #15
                              Getestet:
                              Import funktioniert nicht mehr mit der neuesten 6er.
                              use mit der neuesten 5.3er und 6er
                              Das Handbuch ist also doch korrekt!




                              Zuletzt geändert von combie; 06.12.2007, 09:30.
                              Wir werden alle sterben

                              Kommentar

                              Lädt...
                              X