繁体   English   中英

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

[英]Including PHP functions from another file

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

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

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

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

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

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

您可以使用ob_start()偷偷缓冲include的输出,并使用ob_end_clean()将其删除。 仅当脚本不刷新输出缓冲区本身时,此方法才有效。

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

好吧,您可以使用输出缓冲区捕获文件的输出,然后丢弃它。 但是,仍会发生任何其他全局副作用(全局变量集,文件写入等)。 这将是更好的重构该文件的功能移动到自己包括,可include由两编。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM