|
Posted by aroldao on 05/05/06 15:39
Thak-you for your feedback, both Jerry Stuckle and Chung Leong. Got it
sorted now.
Roldao
Jerry Stuckle wrote:
> aroldao@gmail.com wrote:
> > Greetings Everyone,
> >
> > In php it's possible to create a new object based on a name stored
> > in variable, i.e:
> >
> > $className = "CSome$name";
> > $newclass = new $className();
> >
> > However is it possible to call a function from a class using a name
> > stored in a variable? For example:
> >
> > $funcname = "operation";
> > $func= "\$someclass->$funcname";
> >
> > $func( arg1, arg2 );
> >
> > With the same result as
> >
> > $someclass->operation( arg1, arg2 );
> >
> > Any feed-back will be much appreciated.
> >
> > Cheers,
> > Roldao
> >
>
> Hi, Roldao,
>
> Well, you have a problem. To call a non-static method in a class, you must have
> an object of the class - not the name of the class.
>
> So, for instance:
>
> class MyClass {
> function operation() {
> ...
> }
> }
>
> MyClass->operation()
>
> will fail.
>
> However, if you do
>
> $myclass = new MyClass();
> $myclass->operation();
>
> You can also call it indirectly, with
>
> $function = "operation";
>
> call_user_func(array($myclass), $function);
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstucklex@attglobal.net
> ==================
[Back to original message]
|