Как назначить объект $ smarty для функции php? - PullRequest
2 голосов
/ 22 марта 2012

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, не используя объявление класса?

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Вы когда-нибудь вызывали функцию do_something?Возможно, вы можете сделать это:

function do_something($Smarty) {
    // ... Do something with smarty here...
}
do_something($Smarty);
2 голосов
/ 22 марта 2012

Использование глобальных переменных не очень хорошая идея, почему бы не передать $ Smarty в качестве параметра функции?

function foo($smarty) {
    var_dump($smarty);
}

foo($smarty);
...