Robert Cummings wrote:
On Mon, 2004-08-23 at 20:54, John Holmes wrote:
[EMAIL PROTECTED] wrote:
hi,
What is best method(if it's possible) to count how many times an object is
instanced in one time script call?
I means that if i have a class named "Test", i what to know how many times she's
called, how many copies exists etc. The idea is for monitoring in the way to
optimizing the code.
The method get_declared_classes() only shows only the classes included/required.
There's no predefined variable or method for determining this, that I'm
aware of, short of counting how many "new Test" lines you have.
You could write a wrapper class for Test that kept count of the
instances and returned a new object upon request...
In PHP5:
<?php
class Foo
{
static $instances = 0;
function __construct()
{
Foo::$instances++;
}
function __destruct()
{
Foo::$instances--;
}
static function getNumInstances()
{
return Foo::$instances;
}
}
$foo = new Foo();
$fee = new Foo();
echo 'Count: '.Foo::getNumInstances()."\n";
unset( $foo );
echo 'Count: '.Foo::getNumInstances()."\n";
Add this to the class as well:
public function __clone ()
{
self::$instances++; // You might as well use the "self" operator
}
--
Daniel Schierbeck
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php