php - 是否有一个函数可以用一个包含类名作为字符串的变量来构造一个可调用对象?
问题描述
我正在尝试仅使用一个包含该函数所在类的名称的字符串来构造一个可调用对象。
我尝试了以下方法:
$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']);
解决方案
试试这个语法:$parser->setFunctionHook( $func, [ __CLASS__, $func ], Parser::SFH_NO_HASH );
例子:
$parser->setFunctionHook('defineParser', [RandomInt::class, 'defineParser']);
推荐阅读
- javascript - 使用选择库时如何设置下拉菜单的默认选项?
- angular - 运行子进程 ionic-app-scripts 时出错
- php - 我收到错误“从空值创建默认对象”。谁能帮我?
- jira - JQL:显示当前 sprint 中故事的所有子任务
- r - 无法删除 ggplot 中的 NA 值
- angular - 角度未在请求标头上发送正确的标头
- python - 如何将变量存储在文件中,以便它们将它们的值保存在我可以在程序中打印出来的位置?
- r - 在 R 中创建表格,其中使用 formattable 包将单元格格式化为多种颜色
- c# - 如何在 C# 中制作特殊的正则表达式?
- python - 当有空值时,Pandas json_normalize 将整数转换为浮点数