我include();用来加载页面的某些部分,但有时如果我正在处理特定区域,我希望include();函数在该包含文件中的某个位置终止,所以我使用并且在调用return;时不会包含该行之后的所有内容include();在那个文件上。我不能使用die();,因为有时我还需要包含其他文件。
现在,我希望能够return;根据其他用户看到的内容来控制该功能,例如 - 我想限制哪些类型的用户可以return;在包含的文件中看到该行之外的内容。我希望管理员级别的用户能够看到超出这一点,但不是普通用户。所以我使用某种if() { }语句来检查用户类型。有时我希望只有我自己能够查看return;行后的内容,然后添加if($ip != $my_ip) return;.
问题是我必须手动编写这些东西,但由于我经常使用它,我想编写一个函数,我可以将它传递给我想要绕过该return;部分的用户。所以我设置了一个terminate();函数,如下所示:
function terminate($param) {
// if statement
{
return;
}
}
但是该函数中的return;行仅在该函数内返回,它对调用该函数的文件没有任何影响。所以换句话说,return;我的函数中的行terminate();实际上不会做return;我需要停止include();函数超出它。
那么如何使用函数include();停止文件上的命令超出某个点,并且在停止后不中断剩余的代码?include();
编辑:作为临时修复,我正在使用这个:
if(terminate($param)) return;
因此,在将我的参数传递给函数后,如果它返回true(停止include();),它将return;在我包含的文件上。所以它是这样工作的,我只是想知道是否有可能只使用一个terminate($param);命令来触发return;调用该函数的文件上的命令,而不必将其包装在if()语句中?