2010-04-27 2 views
6

Ich verwende derzeit diese Methode:Gibt es eine Möglichkeit herauszufinden, wie oft eine Klasse in PHP instanziiert wurde?

class Foo { 
    private static $num_instances = 0; 

    function __construct() { 
     self::$num_instances++; 
    } 
} 

, die zu funktionieren scheint, aber ich frage mich, ob es eine in Art und Weise aufgebaut ist ....

+5

schien mir der einzige Weg aus meinem Kopf. Eine schnelle Suche auf Google und php.net bringt mir keine andere Lösung als diese. Übrigens möchten Sie vielleicht die Zahl dekrementieren, wenn '__destruct()' -ing – mauris

+0

Ich glaube nicht, dass PHP irgendeinen Grund hat, solche Informationen zu protokollieren. Ich bin neugierig. Haben Sie im Moment einen praktischen Bedarf dafür? – webbiedave

+0

Es gibt keinen anderen Weg – Franco

Antwort

0

Ich wäre überrascht, wenn es eine gibt.
Meiner Meinung nach wäre es ein Overhead, wenn es immer die Anzahl der erstellten Instanzen zählt.

0

Sie können immer $GLOBALS überprüfen und die Anzahl der Klasseninstanziierungen zählen.

Es wäre nicht schön, und ich würde es lieber mit einer statischen Eigenschaft tun.

Verwandte Themen