PHP从自定义包含函数中访问变量

时间:2016-12-22 00:26:05

标签: php scope

所以我创建了一个自定义函数,它将在文件的设定位置搜索并返回它。我包含包含此函数的帮助程序,然后包含一个包含变量的文件。

我希望能够使用该函数访问包含文件中的这些变量。

这是我的设置:

主要文件

<?php

require 'helper.php';

require 'variable.php';

$Helper -> include_asset("text.php");

?>

Helper.php

<?php 

function include_asset($file) {

    $full_path = "path/to/assets/folder/".$file;

    return (file_exists($full_path)) ? include $full_path : "file ".$file." does not exist";
}

?>

variable.php

<?php $text = "hello"; ?>

text.php

<?php echo $text; ?>

问题是变量$ text无法在包含的文件中访问,但可以在主文件中访问。我认为它与包含自定义函数有关,它是一个函数,因此可变范围但不确定。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

由于您将文件包含在函数中,因此默认情况下,它创建的任何变量都是函数的本地变量。您可以使用global声明将其设为全局:

variable.php:

<?php
global $text;
$text = "hello";