我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()
语句中?