--- Bertrand Mansion <[EMAIL PROTECTED]> wrote:
> <[EMAIL PROTECTED]> wrote :
> 
> >>>> I guess I am going to have to write stupid code such as:
> >>>> 
> >>>> switch ($param1) {
> >>>>     case 'parser1':
> >>>>         return parser1::method();
> >>>>     case 'parser2':
> >>>>         return parser2::method();
> >>>> }
> >>> 
> >>> call_user_func(array($param1, 'method'));
> >> 
> >> No. Undefined variable this in $param1. Get it ?
> >> 
> > No.  The code you displayed (in the switch block) is 100% identical to the
> > code Derick offered (except for the fact that Derick's example will handle
> > any class name while yours is limited).
> > 
> > $classname::method() === call_user_func(array($classname,'method'));
> 
> No. $classname::method() is illegal and is in no case === to
> call_user_func(array($classname,'method')) as you state it.
> 
> Class foo {
>     function bar() {
>         echo $this->param;
>     }
> }
> 
> Class MyObject {
>     var $param;
>     function MyObject($param) {
>         $this->param = $param;
>         foo::bar();
>     }
> }
> 
> $obj = new MyObject('out of this');
> 
> will print 'from MyObject'.


 This SHOULDN'T print 'out of this', This seems like a bug, and you SHOULDN'T
depend on this functionality. The scope of $this inside class foo method bar,
Should be to foo::bar NOT MyObject::MyObject. Which if my memory serves me
right $this inside a static method will just be the string of the current
class?

> 
> While,
> 
> Class MyObject {
>     var $option;
>     function MyObject($option) {
>         $this->option = $option;
>         call_user_func(array('foo', 'bar'));
>     }
> }
> 
> will return 'Undefined variable: this'...

 This should be the way that both examples function.

 $this is a refrence to the current object. inside a static method like
foo::bar() there is no $this defined because its static.


 - Brad



__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to