dongqianzhan8325 2019-03-14 12:38
浏览 64
已采纳

动态构建和执行函数[PHP]

I have a function defined as:

function foo($params)
{
    echo "Hello ".$params;
}

Then, in another file, I have:

$functionName = "foo";
$functionParams = "World";

include("./path_to_file_where_above_function_exists.php");

$functionName($functionParams);

This outputs, as expected:

Hello World

So far so good, what I want to know is how can I check if the function exists in the other file? For example, if I change:

$functionName = "foo";

to

$functionName = "bla";

The code throws no errors. Any help on how to properly handle errors in this case?

Thank you.

  • 写回答

1条回答 默认 最新

  • douqilin4296 2019-03-14 12:43
    关注

    You can check the ability to call a function with help is_callable(). For example:

    function foo($params)
    {
        echo "Hello ".$params;
    }
    
    $functionName = "foo";
    $functionParams = "World";
    if (!is_callable($functionName)) {
        echo "{$funtionName} is not a function"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)