[OOP] Objektnamen rausbekommen

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

  • [OOP] Objektnamen rausbekommen

    also...

    ich habe ne klasse test, die ich mehrmals instanziiere, wie komme ich an die namen der objekte ?

    Beispiel:
    PHP-Code:
    <?php

    class test {
        
    //...
    }

    $test1 = new test;
    $test2 = new test;
    ...
    ?>
    ich bekomme heraus, wie oft ich das objekt instanziiert habe, aber komme ich irgendwie an $test1 ... heran ??

    gruss

  • #2
    probier doch mal:
    string get_class(object obj)
    PHP-Code:
    <?
    PHPclass database{ 
     function first(){  } 
     function second(){  }
    }
    $connect_to_base = new database;
    echo get_class($connect_to_base); 
    ?>
    ausgabe:
    database
    aus:
    http://www.selfphp.info/funktionsref.../get_class.php
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

    Kommentar


    • #3

      http://www.php.net/manual/de/functio...ss-methods.php

      var_dump( get_class_methods( $test1 ) );

      *edit
      @mcmurphy
      ich glaub nicht dass er den namen eine bestimmen objekts weiss, wenn er die namen aller objekte haben will....
      Zuletzt geändert von ; 24.10.2003, 11:00.

      Kommentar


      • #4
        sorry, wahr wohl etwas misverständlich

        was ihr schreibt, ist alles kein Problem!

        ich möchte $test1 zurückbekommen, den namen des objektes, nicht den der klasse oder der methoden!

        gruss

        Kommentar


        • #5
          Wenn ihr das falsch verstanden habt, und ich das richtig verstanden hab, dann muss ich sagen, dass das nicht geht. Wir hatten mal ein ähnliches Prob mit der TPL-Klasse. Sind dann aber auf das Ergebnis gekommen, dass die Klasse nicht wissen kann, in welcher Variable sie gespeichert ist...

          Kommentar


          • #6
            hatten wir das problem? kann mich gar nciht mehr erinnern...

            tatsache ist aber... wie soll der inhalt wissen, wo er ist...

            @Morti.
            mache doch ein array für deine opjects. damit solltest du doch besser zurecht kommen. *einfachmalsosage*
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              OffTopic:
              naja, so in etwa. wir hatten sonne sache, mit dem call to undefined member... da ging es ja auch darum zu wissen, obs da was gibt. ich komm mal per PM, damit das hier nicht vollgespamt wird.

              Kommentar


              • #8
                PHP-Code:
                class test
                {
                  var 
                $objectname;

                  function 
                test($objectname=NULL)
                  {
                    
                $this->objectname=$objectname;
                  }
                }

                $test1=new test('test1'); 
                würde mir einfallen, aber wozu brauchst du das eigentlich?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  dumm ist, dass man dann immernoch auf korrekte angaben angewiesen ist. aber anders gehts echt nicht.

                  wobei ich auch denke, dass es für die classe uninteressant sein sollte, wie sie heißt.

                  Kommentar


                  • #10
                    dumm ist, dass man dann immernoch auf korrekte angaben angewiesen ist.
                    ja. aber diese gibt man bei happy's beispiel der class ja mit.

                    aber @happy, was ist, wenn du das mit & machst...
                    PHP-Code:
                    $test1=&new test('test1'); 
                    dann hast du ja keine kopie mit dem neuen namen, sondern nur eine referenz. und dann hast du ein problem mit dem namen. oder irre ich da?
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      PHP-Code:
                      class test
                      {
                        var 
                      $objectname;

                        function 
                      test($objectname=NULL)
                        {
                          
                      $this->objectname=$objectname;
                        }
                      }

                      $test1=new test('test1'); 
                      würde mir einfallen, aber wozu brauchst du das eigentlich?
                      soll als basis für eine modulapi sein, klassen werden von der api angemeldet, registriert, instanziiert und wieder gelöscht...

                      des weiteren kann ich mir die objekte ausgeben lassen (sollen später für eine synchronisation ausgetauscht werden können)

                      kurz:
                      ich registriere über die basis api weitere klassen, die untereinander über schnittstellen infos austauschen können, etc... hab das prob jetzt anderweitig gelöst (so ähnlich wie haxes vorschlag)...

                      guss

                      Kommentar

                      Lädt...
                      X