我想通过函数将变量传递给包含文件。例如,我有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全局?
答案 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'));
但是为了所有神圣的爱,改变你的策略。