Php if语句的函数包装器

Php if语句的函数包装器,php,Php,我的处境是,我需要做大量的登录代码。获得了一个函数包装器,可以调用所需的函数并记录相关数据。但我感兴趣的一件事是if语句的包装器。或者允许我在一个地方而不是几十个地方设置语句结果和其他杂项数据的日志记录 沿途 $result = iff([isset($param1) && $param2 == 1]); function iff($params) { if($params) $res = true; else $res = f

我的处境是,我需要做大量的登录代码。获得了一个函数包装器,可以调用所需的函数并记录相关数据。但我感兴趣的一件事是if语句的包装器。或者允许我在一个地方而不是几十个地方设置语句结果和其他杂项数据的日志记录

沿途

$result = iff([isset($param1) && $param2 == 1]);

function iff($params) {

    if($params)
        $res = true;
    else
        $res = false;

    $log->save($miscData, $res);

    return $res;

}

或者其他一些可以让我在一个地方设置某种漏洞的东西。寻找一些想法。

也许您正在寻找函数获取参数的方法

因此,您的函数(和示例执行)如下所示:

$result=iff(isset($param1),$param2==1)

函数iff($params){
$numargs=func_num_args();
$arg_list=func_get_args();
$res=true;
对于($i=0;$i<$numargs;$i++){
如果($arg_list[$i]==false){
$res=假;
打破
}
}
$log->save($miscData,$res);
返回$res;
}

请注意,使用此方法可以将任意数量的参数传递到函数中,每个参数都是布尔值。

如果您不介意我问一下,为什么需要这样记录每个PHP语句?我想不出功能上或技术上的原因。不是每一个都是这样,而是在关键的地方。我们的想法是制作一个用户友好的日志,以查看传入呼叫数据发生了什么,以及为什么它通过许多函数和语句,最终数据发生了很大的更改和转换。这听起来像是您正在尝试构建一个PHP调试器……在PHPMaybe中,并没有完美地描述所有内容,可能已经给出了正确的解释给人的印象是我想在项目中记录每一条语句。不,不,只需要一个从外部源接收特定数据包并对其进行处理/转换的特定模型就可以使用它。为了方便起见,我想一步一步地看看它在模型中发生了什么,以及在过程中执行了什么。
function iff($params) {

    $numargs = func_num_args();
    $arg_list = func_get_args();
    $res = true;

    for ($i = 0; $i < $numargs; $i++) {
        if ($arg_list[$i] === false) {
            $res = false;
            break;
        }
    }

    $log->save($miscData, $res);

    return $res;
}