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