PHP-php如何以参数方式调用对象的方法,即$this->functionname()的functionname可以由变量传入
<?php
class obj{
public $functionname;
function drawMain(){
echo ' in function drawMain()<br/>';
}
function drawPart(){
echo ' in function drawPart()<br/>';
}
function __construct(){
**$this->functionname='$this->drawMain'; //这样写对吗?**
}
function draw(){
**$this->functionname(); //这句不知道该怎么写了**
}
}
$obj= new obj();
**$obj->draw(); //希望能实现 $obj->drawMain();**
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以这样做
<?php
class obj{
public $functionname;
function drawMain(){
echo ' in function drawMain()<br/>';
}
function drawPart(){
echo ' in function drawPart()<br/>';
}
function __construct(){
$this->functionname='drawMain';
}
function draw(){
call_user_func_array( array( $this, $this->functionname ) , array() ) ;
}
}
$obj= new obj();
$obj->draw();
?>