Check out the runkit extension to PHP
(http://www.php.net/manual/en/ref.runkit.php). It should let you do all
the class mucking you need to do.
jon
Jim Wilson wrote:
Dear PHP Users,
I have two questions regarding PHP 5's Reflection API (I apologize if
this
isn't the right list to ask):
1) Is there a way to inject a method into a Class such that future
instantiations of that Class will have the method? For example:
------------ Before -----------
class A {
// Nothing
}
------------ Before -----------
------------ After -----------
class A {
// method which was injected
public function injectedFunc($someArg) {
// ....
}
}
------------ After -----------
Obviously I'm not looking for a way to modify class A's source code, just
the effective class A specification.
I know that PHP supports extending classes and interfaces, but in my
use-case that isn't really an option since I don't control the code which
instantiates the objects, and they're not using any kind of Factory
pattern
for object construction that I could overload with my extended
implementation.
2) Is there a way to change a method which already exists, as in by
overwriting it with a new function? I'm looking to do the equivalent of
JavaScript's 'function as member' treatment, where it's easy to do
something
like:
------------ Snip -----------
// Obj is some object
Obj.meth = function (arg) { /* do something with arg */ };
// Then later on ...
Obj.meth('hello there');
------------ Snip -----------
Thanks in advance for any help, or for redirecting me to the correct
list if
this isn't it.
-- Jim R. Wilson
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php