spl_object_hash for PHP < 5.2 (unique ID for object instances)
Posted
by Rowan
on Stack Overflow
See other posts from Stack Overflow
or by Rowan
Published on 2010-02-19T20:52:02Z
Indexed on
2010/03/17
2:01 UTC
Read the original article
Hit count: 323
I'm trying to get unique IDs for object instances in PHP 5+.
The function, spl_object_hash() is available from PHP 5.2 but I'm wondering if there's a workaround for older versions.
There are a couple of functions in the comments on php.net but they're not working for me. The first (simplified):
function spl_object_hash($object){
if (is_object($object)){
return md5((string)$object);
}
return null;
}
does not work with native objects (such as DOMDocument), and the second:
function spl_object_hash($object){
if (is_object($object)){
ob_start();
var_dump($object);
$dump = ob_get_contents();
ob_end_clean();
if (preg_match('/^object\(([a-z0-9_]+)\)\#(\d)+/i', $dump, $match)) {
return md5($match[1] . $match[2]);
}
}
return null;
}
looks like it could be a major performance buster!
Does anybody have anything up their sleeve?
© Stack Overflow or respective owner