我正在构建使用第三方php文件中存在的函数调用的代码。这个3p php文件不是函数库,但也包含内联代码本身。
如何在不执行内联代码的情况下调用函数?
答案 0 :(得分:6)
如何在不执行内联代码的情况下调用函数?
你做不到。
您可以使用output buffering来抑制包含输出,但代码仍会执行。
我认为没有好的方法可以在不制作相应包含的副本的情况下执行此操作,并从中删除内联代码。
答案 1 :(得分:0)
简单的答案是你不能。致电include
只是打开文件并在内容上运行eval()
。
答案 2 :(得分:0)
如何将原始文件拆分为函数文件和本机代码文件并包含它们?这样原始文件将像以前一样工作,您只能在脚本中包含这些函数。
答案 3 :(得分:0)
理论上可以通过评估文件的过滤内容,但过滤代码在脚本和性能方面并不是一件容易的事。
答案 4 :(得分:0)
如果你想要包含的文件顶部定义了所有函数,你可以在函数定义之后立即添加这样的结构:
if (something that would be true if the file was included) {
return;
}
例如,如果执行include的脚本已经定义了一个名为$myVar
的变量,那么你可以这样做:
if (isset($myVar)) return;
这将导致包含文件停止执行并将控制权返回到原始脚本。
然而,最好的解决方案是创建另一个名为eg的文件。两个脚本中的'functions.php'和include('functions.php');
......