Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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,我正试图使用一个字符串来构造一个可调用函数,该字符串包含函数所在的类的名称 我尝试了以下方法: $class_name = "RandomInt"; // MediaWiki uses setFunctionHook() $parser->setFunctionHook( $class_name, [constant($class_name . '::class'), 'defineParser']); 它给了我一个错误: Argument 2 passed to Parser::se

我正试图使用一个字符串来构造一个可调用函数,该字符串包含函数所在的类的名称

我尝试了以下方法:

$class_name = "RandomInt";

// MediaWiki uses setFunctionHook()
$parser->setFunctionHook( $class_name, [constant($class_name . '::class'), 'defineParser']);
它给了我一个错误:

Argument 2 passed to Parser::setFunctionHook() must be callable, array given.
这里还有一个工作示例,说明如果没有“字符串约束”,它会是什么样子:

$parser->setFunctionHook( 'RandomInt', [RandomInt::class, 'defineParser']);

试试这个sytax:
$parser->setFunctionHook($func,[[uuuu CLASS\uuuuuu,$func],parser::SFH\u NO\u HASH)

例如:

$parser->setFunctionHook('defineParser',[RandomInt::class,'defineParser']);

试试这个sytax:
$parser->setFunctionHook($func,[[uuuu CLASS\uuuuu,$func],parser::SFH\u NO\u HASH)

例如:

$parser->setFunctionHook('defineParser',[RandomInt::class,'defineParser']);

::class
获取类名。您的变量中已经有类名。尝试
$parser->setFunctionHook('RandomInt',[$class\u name,'defineParser'])类获取类名。您的变量中已经有类名。尝试
$parser->setFunctionHook('RandomInt',[$class\u name,'defineParser'])