[英]How can I use PHP Class Method inside a function without using global variable?
[英]Can i use a class variable as variable function inside the same class's method in one single line?
我可以在同一个类的方法中将实例变量用作动态变量函数 。 但是只能在方法内部的另一个变量中局部声明它。 我不能像这样使用它:“ $ this-> $ this-> functionName ”。 我的意思是:
这有效:TheClass.php
<?PHP
class TheClass{
public $functionName;
function setFunctionName($name){
$this->functionName = $name;
}
function processClass(){
$tempFunctionName = $this->functionName;
$this->$tempFunctionName();
}
function testFunction(){
echo "this works";
}
}
?>
main.php
<?PHP
include "TheClass.php";
$theClass = new TheClass();
$theClass->setFunctionName('testFunction');
$theClass->processClass();
?>
但是我不能像这样以一种方式使用全部内容:
function processClass(){
$this->$this->functionName();
}
有没有办法(不使用call_user_func )以这种方式使用它,或者让我在本地设置它来使用它。
将其包装在{}
function processClass(){
$this->{$this->functionName}();
}
链接方式:
function setFunctionName($name){
$this->functionName = $name;
return $this;
}
$theClass->setFunctionName('testFunction')->processClass();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.