Hi Jim,

you're searching for runkit ;-)
http://de.php.net/manual/en/ref.runkit.php

johannes

On Fri, 2007-02-09 at 10:18 -0600, Jim Wilson wrote:
> Dear PHP Internals subscribers,
> 
> I have two quick 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 Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to