我想在执行之前挂钩/或替换标准核心功能,例如我要阻止include
和require
访问任何脚本。有没有办法让它没有任何额外的.dll?或者另一种情况is_array($myarr);
我将挂钩array($myarr) === $myarr;
(看起来更快)以避免创建额外的类和函数。
Ps还有一个问题:如何防止所有PHP执行一段时间后?我有php部件<?=$myvar?>
的html模板我希望在我的脚本结束工作时防止短的sintax和执行,我必须尝试什么?
答案 0 :(得分:2)
关于标准函数的钩子:没有外部模块就没有办法做到这一点。 APD PECL module 我会做的。
rename_function('require', 'internal_require'); // saving reference to original function
override_function('require', '$filename',
'print "require called"; internal_require($filename);');
第二个问题不是很清楚。您想要将标准is_array
函数挂钩到array()
词法构造或(array)
类型转换吗?
关于停止php解释:看一下__halt_compiler函数。但请记住,成功的php块将只嵌入HTML中(因此对每个人都可见)。
答案 1 :(得分:0)
如果要禁用功能,可以使用安全模式,但不建议使用它。正如疯狂的朋友所说,__ halt_compiler只是将文本下面的所有内容发送给它。请记住,它只能从最外层范围调用 - 即。不在花括号内(如果,循环,函数等)