Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用名为';这部分是一个变量_Php_Class - Fatal编程技术网

Php 调用名为';这部分是一个变量

Php 调用名为';这部分是一个变量,php,class,Php,Class,我想问你一个简单的问题 我有一个包含函数的类,名为: somethingModule() someotherthingModule() otherthingsModule() 如何基于模式调用这些函数?我的意思是: $call = $class->{$modulename}Module($params); 创建临时变量: $tmp = $modulename . 'Module'; $call = $class->$tmp($params); 或带花括号: $call = $c

我想问你一个简单的问题

我有一个包含函数的类,名为:

somethingModule()
someotherthingModule()
otherthingsModule()
如何基于模式调用这些函数?我的意思是:

$call = $class->{$modulename}Module($params);

创建临时变量:

$tmp = $modulename . 'Module';
$call = $class->$tmp($params);
或带花括号:

$call = $class->{$modulename . 'Module'}($params);

创建临时变量:

$tmp = $modulename . 'Module';
$call = $class->$tmp($params);
或带花括号:

$call = $class->{$modulename . 'Module'}($params);

您应该研究call\u user\u func()和call\u user\u func\u array()。这些函数以两个参数作为输入。第一个是要调用的函数的名称,第二个是要传递给函数的参数。在您的情况下,您可以这样做:

$method = $modulename.'Module';
$call = call_user_func(array($class, $method), $params);

您应该研究call\u user\u func()和call\u user\u func\u array()。这些函数以两个参数作为输入。第一个是要调用的函数的名称,第二个是要传递给函数的参数。在您的情况下,您可以这样做:

$method = $modulename.'Module';
$call = call_user_func(array($class, $method), $params);

这是一种魅力!谢谢你的魅力!感谢
$call=$class->{$modulename.'Module'}($params)
$call=$class->{$modulename.'Module'}($params)