Ankündigung

Einklappen
Keine Ankündigung bisher.

[ERLEDIGT] PHP - Klassen Aufruf loggen lassen

Einklappen

Neue Werbung 2019

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

  • [ERLEDIGT] PHP - Klassen Aufruf loggen lassen

    Hi Leute.

    Ich habe mal folgende Frage:
    Gibt es eine Funktion die ausgeführt wird, wenn eine Instanz einer Klasse aufgerufen wird?
    Sowas wie spl_autoload_register(callback()), wobei es nicht beim requiren sondern beim erstellen der Instanz aufgerufen wird.
    Ich bräuchte das ganze für Singletons.

    Eine Antwort wäre echt cool.
    mfg,
    "Avoiding danger is no safer in the long run than outright exposure. Life is either a daring adventure, or nothing."
    - Helen Keller

  • #2
    http://php.net/manual/de/language.oop5.decon.php

    Und für Singletons:

    http://www.phpbar.de/w/Singleton

    Kommentar


    • #3
      Singleton nicht benutzen.
      http://code.tutsplus.com/tutorials/d...huh--net-26903

      Kommentar


      • #4
        Sowas wollte ich eben nicht haben.
        "Avoiding danger is no safer in the long run than outright exposure. Life is either a daring adventure, or nothing."
        - Helen Keller

        Kommentar


        • #5
          Nein, sowas gibt es nicht. Jetzt die typische Frage: Was willst du denn machen? (Wahrscheinlich kann man dein Problem auf eine ganz andere, verblüffende Art lösen)

          Kommentar


          • #6
            Zitat von rkr Beitrag anzeigen
            Nein, sowas gibt es nicht. Jetzt die typische Frage: Was willst du denn machen? (Wahrscheinlich kann man dein Problem auf eine ganz andere, verblüffende Art lösen)
            Ich hatte vor das ganze in einem Backend loggen zu lassen, damit ich Optimierungen mit der Zeit vornehmen kann.
            Naja, danke für die Hilfe!
            "Avoiding danger is no safer in the long run than outright exposure. Life is either a daring adventure, or nothing."
            - Helen Keller

            Kommentar


            • #7
              Zitat von iExit Beitrag anzeigen
              Ich hatte vor das ganze in einem Backend loggen zu lassen, ...
              Was hindert dich daran, diesen Logging-Vorgang an der einzigen Stelle anzustoßen, an der man im PHP-Userland den Moment der Objekt-Instanziierung registrieren kann? (Das geht halt nur in der Konstruktor-Methode.)

              Zitat von iExit Beitrag anzeigen
              ..., damit ich Optimierungen mit der Zeit vornehmen kann.
              Ich sehe Singletons keinen dringenden Optimierungsbedarf. Die sollten an sich sparsam eingesetzt werden und typischerweise haben sie nur eine Instanz pro Klasse. Sonst würden sie vermutlich nicht "Singletons" heißen ...

              ... und nein, die "Singleton === DasBöseSchlechthin(TM)"-Diskussion werde ich nicht befeuern.
              Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

              Kommentar


              • #8
                Oftmals bringen dir Singletons jedoch keinen Vorteil - ausser für die, die für DI zu faul sind. Singleton verstösst klar gegen die Wiederverwendbarkeit von Code.
                [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                Kommentar


                • #9
                  Zitat von iExit Beitrag anzeigen
                  Ich hatte vor das ganze in einem Backend loggen zu lassen, damit ich Optimierungen mit der Zeit vornehmen kann.
                  Naja, danke für die Hilfe!
                  Naja, vielleicht mit http://exarphp.com/

                  Kommentar


                  • #10
                    Zitat von ChristianK Beitrag anzeigen
                    Oftmals bringen dir Singletons jedoch keinen Vorteil - ausser für die, die für DI zu faul sind. Singleton verstösst klar gegen die Wiederverwendbarkeit von Code.
                    Mit einem guten DI-Container sollte auch das "Faulheit"-Argument nicht mehr ziehen.

                    Huch,warum wurde daraus jetzt ein neuer Beitrag?

                    Kommentar

                    Lädt...
                    X