包括来自另一个文件的PHP函数

时间:2010-01-12 16:50:34

标签: php function

我想访问另一个PHP文件中定义的某些函数,但该文件还会输出我不想显示的内容。

有没有办法在不“运行”整个文件的情况下访问这些功能?也许通过将该文件的输出重定向到隐藏的地方?

5 个答案:

答案 0 :(得分:4)

<?php
ob_start();
require 'filename.php';
ob_end_clean();
?>

答案 1 :(得分:3)

呃,您可以使用输出缓冲区并手动清除内容,但为什么不将常用功能移动到公共包含中?我通常将常见的辅助方法推入自己的文件中(不会输出任何内容)。

答案 2 :(得分:2)

涉及输出缓冲的答案是正确的,但是您在相当基础的层面上解决了错误的问题。

抓住那些有用的功能并将它们移动到另一个文件。然后从您正在处理的文件和它们当前所在的文件中包含该文件。一切正常,没有输出缓冲的怪异黑客。

答案 3 :(得分:1)

您可以使用ob_start()偷偷缓冲包含的输出,然后使用ob_end_clean()删除它。仅当脚本不刷新输出缓冲区本身时,此方法才有效。

更好的方法是从include中提取所需的函数,并将它们放入单独的文件中。

答案 4 :(得分:0)

好吧,您可以使用Output Buffer然后丢弃它来捕获文件的输出。但是,仍会发生任何其他全局副作用(全局变量集,文件写入等)。重构该文件以将函数移动到它们自己的包含中会好得多,这两个包都可以include