如果这些变量来自extract(),如何为包含文件传递变量。
代码
<?php
$hello = 'hello';
include('world.php');
?>
<?php //world.php
echo $hello;
?>
就像一个魅力
但是,如果?
<?php
$arr = array('hello' => 'hello');
extract($arr);
echo $hello //it will print : hello
include('world.php');
?>
<?php //world.php
echo $hello; //it will print an error: Notice: Undefined variable: hello
?>
那么,如何将“提取的”变量传递给包含的文件?
答案 0 :(得分:2)
该变量将在包含文件的范围内可用。
所以,如果你有
$arr = array("who"=>$world);
extract($arr);
在包含内你能够
Hello <?= $who ?>
这是制作低脂肪模板功能的简便方法,例如:
function renderTemplate($template, $args){
extract($args);
include($template);
}
由于提取调用是在函数中进行的,因此它不会污染全局空间,并且可以很容易地表示非程序员类型的符号。