Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP: Aufrufende Klasse ermitteln

Einklappen

Neue Werbung 2019

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

  • OOP: Aufrufende Klasse ermitteln

    Moin.

    Ich möchte das Objekt der Klasse, die eine bestimmte Methode aufruft, ermitteln, um damit bestimmen zu können, ob die Klasse zum Programmstamm oder zu einem Plugin gehört.

    Bei der Methode handelt es sich übrigens um fetch() bei Smarty. Wenn die Methode von einer Klasse aufgerufen wird, die vom Framework stammt, soll ein anderer Pfad zu den Templates führen.

    Ist das mit PHP 5.3 / OOP möglich?

    Gruß,
    deMaddin

  • #2
    Ich möchte das Objekt der Klasse, die eine bestimmte Methode aufruft, ermitteln, um damit bestimmen zu können, ob die Klasse zum Programmstamm oder zu einem Plugin gehört.
    Häh?
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Naja, der Titel machts klarer. Soweit ich weiß nein, aber hier gibs nen Haufen Leute die mehr wissen als ich. Ich bin gespannt.

      Kommentar


      • #4
        in PHP5.3 gibts dafür eine Möglichkeit. Wenn denn „Aufrufende Klasse ermitteln“ gemeint ist.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Hier mal ein Beispiel zum besseren Verständniss:

          PHP-Code:
          class Test {
            function 
          __construct() {
              
          Klasse::funktion();
            }
          }

          class 
          Klasse {
            static function 
          funktion() {
              
          //Nun soll hier die Klasse ermittelt werden, die diese Funktion aufgerufen hat (hierbei "Test").
            
          }
          }

          new 
          Test(); 

          Kommentar


          • #6
            wer so was nicht per Google rausfinden kann, der sollte sich vielleicht mit anderen Sachen beschäftigen:
            PHP: get_class - Manual
            Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

            Kommentar


            • #7
              @Koala sicher dass er das meinte? denke er sucht nach einem vergleichbaren JS "callee" für php

              Mit debug_backtrace bekommst du den Stack raus, das 1. oder 2. Element dürfte das sein was du suchst.
              DevBlog|3D Online-Shopping|Xatrium

              Kommentar


              • #8
                ... letzteres ist jedoch eine teuere Operation und sollte nicht für den Live-betrieb genutz werden.
                Viele Grüße,
                Dr.E.

                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                1. Think about software design [B]before[/B] you start to write code!
                2. Discuss and review it together with [B]experts[/B]!
                3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
                4. Write [I][B]clean and reusable[/B][/I] software only!
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                Kommentar


                • #9
                  "Test" ist aber nicht das Objekt der Klasse, sondern die Klasse des Objekts. Keine Ahnung, was einem das unsinnige, fehlerhafte und unvollständige Beispiel sagen soll.
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar

                  Lädt...
                  X