的index.php
require_once('smarty/Smarty.class.php');
$Smarty = new Smarty();
function do_something() {
global $Smarty;
echo "where is smarty?"
var_dump($Smarty);
$ObjSmarty->assign("teams_list", $teams_list);
}
get_active_teams();
没有转储和错误分配......
require_once('smarty/Smarty.class.php');
$Smarty = new Smarty();
function do_something() {
global $Smarty;
echo "where is smarty?"
var_dump($GLOBALS);
var_dump($GLOBALS["Smarty"]);
}
get_active_teams();
全局变量显示Smarty,当我转储$ globals [“smarty”]时没有。怎么了。
我没有课就是这个问题?
如何在不使用声明类的情况下分配到php函数中加载的smarty对象?
答案 0 :(得分:3)
你有没有在某处调用do_something函数? 也许你可以这样做:
function do_something($Smarty) {
// ... Do something with smarty here...
}
do_something($Smarty);
答案 1 :(得分:2)
使用全局变量不是一个好主意,为什么不将$ Smarty作为函数参数传递?
function foo($smarty) {
var_dump($smarty);
}
foo($smarty);