PHP钩核心功能(php hook core functions)

2019-06-26 14:43发布

我想在执行前钩/或更换非标准核心功能,例如我,我要去同时防止includerequire accesa任何脚本。 什么办法让它没有任何多余的.dll文件的? 或者另一种情况is_array($myarr); 我将在钩array($myarr) === $myarr;看起来是更快 ),以避免产生额外的类和功能。

Ps和一个问题:如何防止经过一番一刻所有的PHP执行? 我有一个PHP的部分HTML模板<?=$myvar?>我要防止短sintax和执行在所有的时候我的脚本结束的工作,我也来试试?

Answer 1:

关于挂钩非标准功能:有没有办法做到这一点,无需外部组件。 APD PECL模块将做的工作。

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(因此可见大家)。



Answer 2:

如果要禁用功能,您可以使用安全模式,但它已被弃用,不建议使用。 而作为madfriend说,__halt_compiler只是将它下面的一切都为文本。 请记住,它只能从最外面的范围被称为 - 即不是内部大括号(如,循环功能等)



文章来源: php hook core functions