将变量传递给include函数

时间:2015-05-11 16:28:49

标签: php

我想通过函数将变量传递给包含文件。例如,我有2个文件: 的index.php:

<?php
$var = "this is a variable";
function get_template($template){
    require_once "theme/".$template;
}
get_template("index.php");
?>

比我有另一个档案: 主题/ index.php的:

<?php
echo $var;
?>

如果不在此函数中编写全局$ var,如何通过函数创建$ var全局?

2 个答案:

答案 0 :(得分:0)

将其作为参数传递给函数。来自manual

  

当包含文件时,它包含的代码将继承发生包含的行的变量范围。从那时起,调用文件中该行可用的任何变量都将在被调用文件中可用。但是,包含文件中定义的所有函数和类都具有全局范围。

$var = "this is a variable";
function get_template($template, $var){
    require_once "theme/".$template;
}
get_template("index.php", $var);

答案 1 :(得分:0)

像这样:

function get_template($template, array $args = array())
{
    extract($args);
    require_once "theme/".$template;
}

get_template("index.php", array('var' => 'this is a variable'));

但是为了所有神圣的爱,改变你的策略。