繁体   English   中英

PHP:您可以通过函数传递包含吗?

[英]PHP: Can You Pass Include Through a Function?

是否可以通过函数包含文件? 我的意思不是将内容作为字符串返回。 我想创建自己的自定义include方法 ,但是现在看来这是不可能的。

例如,PHP的include方法输出文件内容。 我想输出文件内容,但是首先要通过另一个函数运行它们。

例如:

function include_filter($file){
    include($file);
}
include_filter($file);

此示例不使用其他功能,因为我的主要问题是如何通过一个函数来包含所有内容。 您可以看到问题。

如果我通过诸如include_filter之类的函数包含代码,则该代码将仅局部包含在函数内部,而不是包含在调用函数的行中(示例中的第4行 )。

include语句不输出文件内容。 但是,它会评估您要包含的文件,因此,如果该文件包含任何echo语句,那么是的,这些将在您包含该文件时立即执行。

您可以使用输出缓冲器以捕获输出和再之前用它做什么echo “荷兰国际集团它:

included_file.php

<?php
echo "This came from an included file.";

main_file.php

<?php
function include_filter($path) {
    ob_start();
    include $path;
    $output = ob_get_contents();
    ob_end_clean();

    echo str_replace("an included file", "a filter function", $output);
}

include_filter("included_file.php");
// will output "This came from a filter function."

演示: https//3v4l.org/2XkL7

暂无
暂无

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

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