Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Can I call a method when the method name is stored in a variable? What's the syntax? Suppose I have the following PHP code:

class MyClass {
    public $default;

    function index() {
        /* call method named by $this->default */
    }
    function method_1() {}
    function method_2() {}
    ...
}

index() is called by default when the class is initialised if no other method is specifically called.

How can I call one of the methods from within index() using the MyClass->$default property? That is, if I would ordinarily write:

function index() { $this->method_1(); }

can I use my default variable to call the correct method?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
456 views
Welcome To Ask or Share your Answers For Others

1 Answer

Can i use a variable to call a method?

Yes you can. For example, inside an object:

$method = "method_1";

if (method_exists($this, $method))
 $this->{$method}();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...