PHP-php如何以参数方式调用对象的方法,即$this->functionname()的functionname可以由变量传入

发布于 2016-12-18 11:40:31 字数 589 浏览 1238 评论 1

<?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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-10-24 08:29:28

你可以这样做

<?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();
?>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文