Marcus Boerger wrote: > Hello Jeremy, > > it is supposed to work everywhere in head and will be available in 5.2. >
Is there a generic way (for extensions, of course) to override the operators between objects implementing __toString()? See, I have two objects: $o1 = new QString("php"); $o2 = new QString("-internals"); Now I could do: $result = $o1->operator+=($o2); better would be: $result = $o1 .= $o2; should result in "php-internals" Can I modify the object structure in any way to register my own operator functions which can be called by the engines execution unit? I found only hard-wired implementations of that if I looked into the 'zend execute' code or maybe I'm wrong. Ideally there would be something like a pointer in every zval which points to a struct or table of 'operator-function pointers'. In this case I could override it and point to another operator-function pointer table. Ok, I can dream ;-) In the current implementation (php 5.1) a function zend_make_printable' is called, and there zend_std_cast_object_tostring. This means that the objects __toString() result will be passed to the underlying system, and there is no unicode support yet. What I would prefer is calling overidden operators before __toString() is called. Am I wrong? Can anybody help me please? Thanks, Thomas -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php